爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶,则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问在1到n内,有多少个数能满足?
下面直接上代码:
########################
def lts(n):
print("在1-%d之间的阶梯数为:" %n)
sum = 0
for i in range(7, n+1):
# 阶梯数所满足的条件
if (i % 7 == 0) and (i % 6 == 5) and (i % 5 == 4) and (i % 3 == 2):
sum += 1 # sum记录1~n之间满足条件的阶梯个数
print("%d" %i)
print("在1-%d之间,有%d个数可以满足爱因斯坦对阶梯的要求。" %(n, sum))
if __name__=="__main__":
while True:
n = int(input("请输入n值:"))
lts(n)
########################
执行结果如下:
请输入n值:200
在1-200之间的阶梯数为:
119
在1-200之间,有1个数可以满足爱因斯坦对阶梯的要求。
请输入n值:100
在1-100之间的阶梯数为:
在1-100之间,有0个数可以满足爱因斯坦对阶梯的要求。
请输入n值:500
在1-500之间的阶梯数为:
119
329
在1-500之间,有2个数可以满足爱因斯坦对阶梯的要求。
请输入n值:
如果你输入的值小于119是看不到符合条件的答案的,所以这个楼梯是非常长的楼梯。
________________END______________
网友评论