python的汉诺塔程序

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

        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')return

    n,表示要移动的柱子数

    a,表示源柱

    buffer表示依赖柱

    c,表示目标柱

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

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

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

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

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

最后完成整个过程

相关文章
相关标签/搜索