python的汉诺塔程序
python的汉诺塔程序
忘川-hsm 发表于1年前
python的汉诺塔程序
  • 发表于 1年前
  • 阅读 17
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 汉诺塔一直以来没有很深的理解,最近看了一片文章,觉得很不错,自己仔细想想,决定把自己的新思路写下来,另外附上原贴地址,看不懂本帖的可以去看这个帖子. http://blog.csdn.net/hikobe8/article/details/50479669

首先贴代码.代码其实就是一个移植,思想很重要.

        def move(n,a,buffer,c):

            if(n==1):
                print (a,"-->",c)
            return
            move(n-1,a,c,buffer)
            move(1,a,buffer,c)
            move(n-1,buffer,a,c)
            move(3,'a','b','c')

    n,表示要移动的柱子数

    a,表示源柱

    buffer表示依赖柱

    c,表示目标柱

首先判断除出递归的条件,只有一个是,直接将源柱A移到目标柱C

接下来整体判断: n个柱子时

                       顶层的n-1个柱子,从A借助C移到buffer

                         将A地底下的柱子移到C下

                          b上n-1个柱子借助A移到C上

最后完成整个过程

                        

 

 

标签: python 汉诺塔 算法
共有 人打赏支持
粉丝 5
博文 72
码字总数 39456
×
忘川-hsm
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: