1.首先介紹一下漢諾塔:
關于漢諾塔的介紹
問題是源于印度一個古老傳說的益智玩具。大梵天創(chuàng)造世界的時候做了三根[金剛石]柱子翔横,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤嗅辣。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上率碾。并且規(guī)定臼闻,在小圓盤上不能放大圓盤勺三,在三根柱子之間一次只能移動一個圓盤愕鼓。
Paste_Image.png
2.遞歸實現(xiàn):
定義一個move函數(shù)
def move(n,a,b,c):
if n == 1:
print(a, '-->', c)
return
move(n-1,a,c,b)
move(1,a,b,c)
move(n-1,b,a,c)
調(diào)用函數(shù):
move(3,"A","B","C")
結果:
('A', '-->', 'C')
('A', '-->', 'B')
('C', '-->', 'B')
('A', '-->', 'C')
('B', '-->', 'A')
('B', '-->', 'C')
('A', '-->', 'C')
QQ20161117-0.png