美文网首页
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