Discuss / Python / 记录

记录

Topic source

心影留踪

#1 Created at ... [Delete] [Delete and Lock User]

考虑四个盘子的情况,其移动方法是,第一部分与三个盘中的移动方法相同,不过是从A借助C最后移动到B当中,第二部分就是把A柱中剩下的最大的盘移动到C中,最后一部是将B中的三个盘按第一部分的移动方法,移动过程为:从B借助A最后移动到C中。 以此类推到N个盘子的情况,第一部分按照移动n-1个盘子的方法,将盘子由A借助C最后移动到B中,第二部分将A中最大的盘子移动到C中,第三部分就是将B中的n-1个盘子由B借助A组后移动到C中。 代码如下: def move(n,a,b,c): if n == 1: print(a,'-->',c) elif n == 2: print(a,'-->',b) print(a,'-->',c) print(b,'-->',c) else: move(n-1,a,c,b) move(1,a,b,c) move(n-1,b,a,c)


  • 1

Reply