愛因斯坦階梯問題
解釋:設有臺階若干,每跨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)
#愛因斯坦階梯問題
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)
for i in (i % 2 != 1 or i % 3 != 2 or i % 5 != 4 or i % 6 != 5 or i % 7 != 0):
print(i)
最後的結果爲 119
小白上路,如有不同意見,希望大家多多討論!謝謝大家!!!