古代有一個梵塔,塔內有 A、B、C 三個基座,A 座上有 64 個盤子,盤子大小不等,大的在下,小的在上

古代有一個梵塔,塔內有 A、B、C 三個基座,A 座上有 64 個盤子,盤子大小不等,大的在下,小的在上。有人想把這 64 個盤子
從 A 座移到 C 座,但每次只允許移動一個盤子,並且在移動的過程中,3 個基座上的盤子始終保持大盤在下,小盤在上。在移動過程中
盤子可以放在任何一個基座上,不允許放在別處。編寫程序,用戶輸入盤子的個數,顯示移動的過程。

def Hanoi(n, ch1, ch2, ch3):
    if n == 1:
        print(ch1, '->', ch3)
    else:
        Hanoi(n - 1, ch1, ch3, ch2)
        print(ch1, '->', ch3)
        Hanoi(n - 1, ch2, ch1, ch3)

N = int(input("請輸入盤子的數量:"))
Hanoi(N, 'A', 'B', 'C')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章