- 遞歸的兩個特點
- 調用自身
- 結束條件
# _*_coding:utf-8
'''
遞歸實例:漢諾塔問題
n----盤子總數
a----第一個柱子
b----第二個柱子
c----第三個柱子
n個盤子時:
1、將n-1個盤子,從A經過C移動到B
2、把n-1個盤子,從A移動到C
3、把n-1個盤子,從B經過A移動到C
'''
#a,b,c 從a開始,經過b,移動到c
def hanoi(n,a,b,c):
if n>0:
hanoi(n-1,a,c,b)
print("moving from %s to %s" %(a,c) )
hanoi(n-1,b,a,c)
hanoi(3,"A","B","C")
'''
ps
moving from A to C
moving from A to B
moving from C to B
moving from A to C
moving from B to A
moving from B to C
moving from A to C
'''