题目描述
爱因斯坦曾出过这样一道有趣的数学题:
有一个长阶梯,
若每步上2阶,最后剩1阶;
若每步上3阶,最后剩2阶;
若每步上5阶,最后剩4阶;
若每步上6阶,最后剩5阶;
只有每步上7阶,最后刚好一阶也不剩。
请编程求解该阶梯至少有多少阶。
思路
阶梯数 n 初始化为7,在一个循环中,对 n 分别取2、3、5、6、7的模,
当取模的结果分别等于1、2、4、5、0时,退出循环,否则 n 递增。最后,返回答案 n。
总结:一道简单的循环、条件判断、取模运算问题。
代码
def countlevel():
"""
:return:最小阶梯数
"""
n = 0
while True:
if n % 2 == 1 and n % 3 == 2 and n % 5 == 4 and n % 6 == 5 and n % 7 == 0:
break
else:
n += 1
return n
print(countlevel())
运行结果
119