爱因斯坦阶梯问题
解释:设有台阶若干,每跨2阶,最后余1阶,跨3阶余2阶,跨5阶余4阶,跨6阶余5阶,跨7阶正好到达阶梯顶部。
分析:先假设有i,余2等于1,余3等于2,以此类推。(代码1)
i%2 == 1 and i%3 == 2 and i%5 == 4 and i%6 == 5 and i%7 == 0
符合以上代码即可。
可以使用while和for语句进行书写
第一种(while判定)(代码2)
#爱因斯坦阶梯问题 i = 1 while i % 2 != 1 or i % 3 != 2 or i % 5 != 4 or i % 6 != 5 or i % 7 != 0: i+=1 print(i)
先进行判定如果,如果和全部不符合条件则为爱因斯坦阶梯数。
第二种(while判定)(代码3)
i=1 while True: #无限循环 i+=1 if(i%2==1 and i%3==2 and i%5==4 and i%6==5 and i%7==0): print(i) break #跳出该循环
while无限循环再用if进行判定,符合条件输出。(如果不用break退出循环可以判定出所有的爱因斯坦阶梯数,但是是无限循环!)
第三种(for判定)(代码4)
i = 1 for i in range(10000): if (i % 2 == 1 and i % 3 == 2 and i % 5 == 4 and r i % 6 == 5 and i % 7 == 0): print(i) break
最后的结果为 119
小白上路,如有不同意见,希望大家多多讨论!谢谢大家!!!