1. 程式人生 > >漢諾塔問題之Python

漢諾塔問題之Python

漢諾塔問題
把A柱子上若干個圓盤(從大到小依次往上),藉助柱子B,移動到柱子C上去,要求一次只能移動一個圓盤,且大盤子不能放在小盤子上面。

遞迴求解!
# Hanoi Tower
print 'a ------------> c'


def hanoi(n, a, b, c):
    if n == 1:
        move(n, a, c)
    else:
        hanoi(n - 1, a, c, b)
        move(n, a, c)
        hanoi(n - 1, b, a, c)


def move(n, x, y)
:
print x, '-->', y, '~', n print hanoi(3, 'a', 'b', 'c')