很熟悉的漢諾塔,利用遞歸思想,用python來寫,非常簡單,代碼如下
#定義漢諾塔遞歸函數
def Hano(n,a,b,c):
#n等於1的時候,只需移動a到c
if n == 1:
print(a,'-->',c)
return
#塔的高度大於等於2時,先把n-1座塔從a藉助c移動到b
Hano(n-1,a,c,b)
#再把a塔剩下的一個盤移動到c
print(a,'-->',c)
#最後把b塔的n-1個盤藉助a移動到c
Hano(n-1,b,a,c)
def main():
#輸入的字符轉換爲整型
n = int(input())
Hano(n,'A','B','C')
main()
一定要注意遞歸的時候形參和實參的位置,不要被abc弄混了