python遞歸函數解決漢諾塔問題

設移動盤子數爲n,爲了將這n個盤子從A杆移動到C杆,可做以下三步:

1)以C盤爲中介,將A杆上的1至n-1號盤移動到B杆。

2)將A杆剩下的第n號盤移動到C杆。

2)以A杆爲中介,將B杆上的1至n-1號盤移動到C杆。

def move(n,a,b,c):
    if n==1:
        print('move',a,'->',c)
    else:
        move(n-1,a,c,b)
        move(1,a,b,c)
        move(n-1,b,a,c)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章