7-內置數據結構
阿新 • • 發佈:2019-01-27
turn 目標 漢諾塔 中間 第一個 數據 odin 開始 結構
漢諾塔問題
# -*- coding: UTF-8 -*- def hano(n,a,b,c): ‘‘‘ 漢諾塔的遞歸實現 n:代表幾個盤子 a:代表第一個塔,開始的塔 b:代表第二個塔,中間過渡的塔 c:代表第三個塔,目標塔 ‘‘‘ if n==1: print(a,‘-->‘,c) print(‘1‘) return None ‘‘‘ if n==2: print(a,‘--‘,b) print(a,‘--‘,c) print(b,‘--‘,c) print(‘2‘) return None ‘‘‘ # 把n-1個盤子,從a塔借助於c塔,挪到b塔上去 hano(n-1,a,c,b) print(a,‘-->‘,c) print(‘*‘ * 20) #把n-1個盤子,從b塔,借助於a塔,挪到c塔上去 hano(n-1,b,a,c) print(‘#‘ * 20) a=‘A‘ b=‘B‘ c=‘C‘ n=3 hano(n,a,b,c)
7-內置數據結構