Python打卡第九天
漢諾塔:
有三根頂針,在第一根頂針上放著若干個盤子,且小盤子在大盤子上面,現把這些盤子從第一根頂針上移動到第三根頂針上,且小盤子依舊在大盤子之上。在移動的過程中可以藉助第二根頂針,每次只能移動一個盤子,且小盤子要在大盤子上面,如何移動才能使所有盤子從第一根頂針到第三根頂針上。
分析:
採用迭代的方法,第64個可以考慮第63個如何實現,第63個可以考慮62個如何實現……如此反覆,最後遞迴至一個如何實現。因此可以將前n-1個放在中轉柱上,將剩下的一個放到目標柱子上
程式碼:
def hanoni(n, a, b, c):
if n == 1:
print(a, "->", c)
return
hanoni(n - 1, a, c, b)
hanoni(1, a, b, c)
hanoni(n - 1, b, a, c)
level = int(input("請輸入漢諾塔層數:"))
hanoni(level, 'a', 'b', 'c')
相關文章
- Python學習 day01打卡Python
- Python打卡第八天Python
- 第九天
- 小白學python第一天打卡Python
- 資料結構與演算法python第九天資料結構演算法Python
- python學習 day018打卡 反射Python反射
- 打卡5
- 打卡7
- 每日打卡
- java面試第九天Java面試
- 衝刺第九天
- 用Python來統計知識星球打卡作業Python
- 字串打卡[1]字串
- 3.14打卡
- 3.18打卡
- [打卡]7.7日
- OC學習之旅------第九天
- 10天衝刺第九天
- 10日衝刺第九天
- 每日學習打卡
- 6.28打卡
- 6.27打卡
- 3.8打卡
- 5.7打卡
- day26打卡
- day30打卡
- day31打卡
- 3-30打卡
- 天池python學習-task02打卡第五天Python
- 【打卡學習python】-20200302Python
- Python實現企業微信上下班自動打卡程式Python
- JavaWeb學習筆記——第九天JavaWeb筆記
- Python實現企業微信自動打卡程式二:跳過節假日,隨機打卡時間,定時任務,失敗通知Python隨機
- java基礎打卡21Java
- 20240429打卡
- 3/8打卡
- 20240325打卡
- 20240328打卡