問題:
有三根桿子A,B,C。A桿上有3個圓盤,盤的尺寸由下到上依次變小。要求按下列規(guī)則將所有圓盤移至C桿:每次只能移動一個圓盤;大盤不能疊在小盤上面。
代碼:
def hannuo(n, a, buffer, c):
'''
:param n: 盤子的個數(shù)
:param a: 柱子
:param buffer: 柱子
:param c: 柱子
:return:
'''
if n == 1:
print(a, '->', c)
return
hannuo(n - 1, a, c, buffer)
hannuo(1, a, buffer, c)
hannuo(n - 1, buffer, a, c)
hannuo(3, 'a', 'b', 'c')
運行結(jié)果:
a -> c
a -> b
c -> b
a -> c
b -> a
b -> c
a -> c
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » 用Python玩漢諾塔