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上

最後完成整個過程

相關文章
相關標籤/搜索