1. 程式人生 > >001 漢諾塔遊戲

001 漢諾塔遊戲

三個塔座A、B、C上各有一根針,通過B把64個盤子從A針移動到C針,移動時必須遵循下列規則:
(1)圓盤可以插入在A、B或C塔座的針上;
(2)每次只能移動一個圓盤;
(3)任何時刻都不能將一個較大的圓盤壓在較小的圓盤之上。
def hanoi(a, b, c, n):
    if n == 1:
        print(a, '->', c)
    else:
        hanoi(a, c, b, n-1)   # a藉助c將(n-1)個盤子移動到b上面
        print(a, '->', c)
        hanoi(b, a, c, n-1)   # b藉助a將(n-1)個盤子移動到c上面

hanoi('a', 'b', 'c', 4)

在這裡插入圖片描述