汉诺塔

有三个立柱A、B、C。A柱上穿有大小不等的圆盘n个,较大的圆盘在下,较小的圆盘在上。要求把A柱上的圆盘全部移到C柱上,保持大盘在下、小盘在上的规律(可借助B柱)。每次移动只能把一个柱子最上面的圆盘移到另一个柱子的最上面。请输出移动过程。

 该问题用递归来实现较为简单方便

 

 

 

 

 

 

 代码:

def han(n,a,b,c):
    if n==1:
        print(a,'-->',c)
        return None
    han(n-1,a,c,b)
    print(a,'-->',c)
    han(n-1,b,a,c)

han(3,'A','B','C')

  

 

posted @ 2021-07-13 13:58  隐泉  阅读(586)  评论(0编辑  收藏  举报