爱因斯坦阶梯问题
·爱因斯坦阶梯问题: 设有一阶梯,每步跨2阶,最后余1阶;每步跨3阶,最后余2阶;每步跨5阶,最后余4阶;每步跨6阶,最后余5阶;只有每步跨7阶时,正好到阶梯顶。 问最少有多少步阶梯?
要求使用while 循环语句
分析
- 设1000内能输入出最小步阶梯数,
- 因每步跨2阶,最后余1阶;每步跨3阶,最后余2阶;每步跨5阶,最后余4阶;每步跨6阶,最后余5阶;只有每步跨7阶时,正好到阶梯顶。
所以为
(x % 2 == 1) and (x % 3 == 2) and (x % 5 == 4) and (x % 6 == 5) and (x % 7 ==0)
代码
x = 1
while x < 1000: #设1000内能输入出最小步阶梯数
if (x % 2 == 1) and (x % 3 == 2) and (x % 5 == 4) and (x % 6 == 5) and (x % 7 ==0):
print('最少有',x,'步阶梯')
x += 1
break #跳出循环
else:
x += 1
print("循环结束")
输出结果
有不同的观点可以在下方留言讨论(^ - ^)