python:愛因斯坦階梯問題

愛因斯坦階梯問題

解釋:設有臺階若干,每跨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

小白上路,如有不同意見,希望大家多多討論!謝謝大家!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章