新人小白求助
题目是:爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。(小甲鱼温馨提示:步子太大真的容易扯着蛋~~~)
x=7
i=1
while i<=100:
if (x%2==1)and(x%3==2)and(x%5==4)and(x%6==5):
print ('阶梯数为 ',x)
else:
x=7*(i+1)
i=i+1
这是我写的代码,最后结果阶梯数为119 ,这句话一直在循环不停止。
所以不知道哪里出问题了,请求各位大神指出问题所在
满足if以后由于x和i都不会再次发生变化,死循环了
加个break就行
x=7
i=1
while i<=100:
if (x%2==1)and(x%3==2)and(x%5==4)and(x%6==5):
print ('阶梯数为 ',x)
break
else:
x=7*(i+1)
i=i+1
x=7
i=1
while i<=100:
if (x%2==1)and(x%3==2)and(x%5==4)and(x%6==5):
print ('阶梯数为 ',x) #这里当条件满足的时候没有break退出循环所以就会一直while一直if true 导致一
直输出最后结果阶梯数为119
break #加上即可
else:
x=7*(i+1)
i=i+1 肖-肖 发表于 2021-5-13 15:02
x=7
i=1
while i
{:10_297:}蟹蟹丫 逃兵 发表于 2021-5-13 15:00
满足if以后由于x和i都不会再次发生变化,死循环了
加个break就行
{:10_250:}明白了,蟹蟹丫 张静aa 发表于 2021-5-13 15:06
蟹蟹丫
不客气
页:
[1]