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)

 

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