|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
那个求阶梯的问题
爱因斯坦曾出过这样一道有趣的数学题: 有一个长阶梯, 若每步上2 阶,最后剩
1 阶;若每步上3 阶,最后剩2 阶;若每步上5 阶,最后剩4 阶;若每步上6 阶,
最后剩5 阶;只有每步上7 阶,最后刚好一阶也不剩。
为什么下面这个代码 输进去的最大范围比119大的时候就得不到结果?
x=0
i=0
flag = 0
number=input("请输入最大范围:\n")
number=int(number)
while x<=number:
if (x%2==1)and(x%3==2)and(x%5==4)and(x%6==5):
flag=1
else:
x=7*i
i=i+1
if flag==1:
print("所得结果为",x)
else:
print("该范围内无结果")
楼主你的代码有问题,当你取到119时,if判断为真,此时flag == 1,但是循环仍旧继续,i一直在增加,而x的值为119不会变,最终陷入死循环。
- x=0
- i=0
- flag = 0
- number=input("请输入最大范围:\n")
- number=int(number)
- while x <= number:
- if (x%2 == 1)and ( x%3 == 2) and ( x%5 == 4) and (x%6==5):
- flag=1
- break
- else:
- x=7*i
- i =i+1
-
- if flag == 1:
- print("所得结果为%d"%x)
- else:
- print("该范围内无结果")
复制代码
所以你只需要加一个break语句就好
|
|