美文网首页
[Python]递归函数-汉诺塔的实现

[Python]递归函数-汉诺塔的实现

作者: PlutoMa | 来源:发表于2016-08-20 22:35 被阅读41次

汉诺塔中,我们需要考虑的是将当前层数中除去最后一层的其余层数通过C柱放在B柱上,然后将最后一层从A柱移到C柱,最后将剩余层数通过A柱从B柱移到C柱,如果说层数为1层,那么可以直接从A柱移到C柱。代码如下:

def move(n, a, b, c): 
    # 若为一层,直接移动
    if n == 1 :
        print u'{0}--->{1}'.format(a, c)
        return
    #移动除去最后一层到辅助柱上
    move(n-1, a, c, b)
    #移动最后一层
    print  u'{0}--->{1}'.format(a, c)
    #移动除去最后一层到最终柱上
    move(n-1, b, a, c)

move(3, 'A', 'B', 'C')

结果为:

屏幕快照 2016-08-20 下午10.40.17.png

相关文章

网友评论

      本文标题:[Python]递归函数-汉诺塔的实现

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