有关 爱因斯坦的数学谜题 的疑惑
本帖最后由 来包利子 于 2020-8-16 16:27 编辑问题来源:传送门,其中的动动手问题。
steps = 7
steps = int(steps)
i = 1
FIND = False
while i < 100:
if (steps %2 ==1) and (steps %3 == 2) and (steps %5 == 4) and (steps %6 == 5) and (steps%7 == 0):
FIND = True
break
else:
steps = steps * (i + 1)
i = i + 1
if FIND == True:
print('阶梯数是:', steps)
else:
print('在程序限定的范围内找不到答案!')
steps = 7
i = 1
FIND = False
while i < 100:
if (steps % 2 == 1) and (steps % 3 == 2) and (steps % 5 == 4) and (steps % 6 == 5):
FIND = True
break
else:
steps = 7 * (i + 1)
i = i + 1
if FIND == True:
print('阶梯数是:', steps)
else:
print('在程序限定的范围内找不到答案!')
上面是我自己填出来的代码,下面是小甲鱼老师的参考答案。
我自己的无法得到结果,我认为问题就在steps = 7 * (i + 1)这里。
程序第一次循环时,steps的值就是7啊,应该等效才对啊。
而且我怕steps的7不是int格式,还专门加了一行steps = int(steps),为什么还是无法得到结果呢? steps的第一个值确实是7,但是你想哈,执行过一次steps = steps * (i + 1)之后,第二次执行它的话,steps就不是7了,也就是说第二次steps = steps * (i + 1),乘的steps不是7 小甲鱼的铁粉 发表于 2020-8-16 16:33
steps的第一个值确实是7,但是你想哈,执行过一次steps = steps * (i + 1)之后,第二次执行它的话,steps就 ...
哦哦,第一遍是7*2,然后到了第二遍就成了14*3了,再往后就全乱了。懂了,感谢大神! 来包利子 发表于 2020-8-16 16:48
哦哦,第一遍是7*2,然后到了第二遍就成了14*3了,再往后就全乱了。懂了,感谢大神!
不敢不敢,我很菜的{:10_278:}
页:
[1]