006 爱因斯坦
x = 7i = 1
flag = 0
while i <= 100:
if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
flag = 1
else:
x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
i += 1
if flag == 1:
print('阶梯数是:', x)
else:
print('在程序限定的范围内找不到答案!')
这个题目中在while 循环里的if 条件从句中,能否在最后加一个 (x%7==0)? 为啥是在else语句中放一个7的倍数这样的逻辑? 本帖最后由 heidern0612 于 2020-6-29 20:10 编辑
题目不是说了吗,x一定是7的倍数,既然在if分支里找不到,那就找7的下一个倍数里的循环啊。
也就是说,7以内找不到,就找7到14以内的,7到14以内找不到,就找14到21的,后面类推。
你得根据题目编写程序,题目里也没说需要x%7==0的判断。
但是既然符合x一定是7的倍数,你加上也是可以的,但是没必要加,加上了不多此一举吗?
前面if分支那些条件已经够判断是否阶梯数了。
页:
[1]