设移动盘子数为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)