美文网首页
python练习5:递归(汉诺塔问题)

python练习5:递归(汉诺塔问题)

作者: 梁老施 | 来源:发表于2018-04-09 17:29 被阅读0次

    现有3根柱子A,B,C,将A的所有盘子,用汉诺塔的移动方式借助B柱子移动到C柱子.

    def hannuo(n,a,b,c,):
        if n==1:
            step=1
            print(a,'--->',c)
            return step
        else:
            x1=hannuo(n-1,a,c,b) #将n-1快从A移动到B
            x2=hannuo(1,a,b,c)   #将1块移从A动到C
            x3=hannuo(n-1,b,a,c)  #将n-1块从B移动到C
            step=x1+x2+x3
            return step
    s=hannuo(4,'A','B','C')
    print('需要 %d 步骤完成'%s)
    

    相关文章

      网友评论

          本文标题:python练习5:递归(汉诺塔问题)

          本文链接:https://www.haomeiwen.com/subject/rwrihftx.html