python 汉诺塔递归算法?

windows 10, python3.7

直接上代码

# 转移方法move n:需要转移数量 a,b,c:柱名
def move(n, a, b, c):
    # 转移当前圆盘
    if n == 1:
        print(a, '-->', c)
    else:
        # 将除了最大的圆盘的剩余圆盘转移到b柱
        move(n - 1, a, c, b)
        # 转移最大的圆盘到c柱
        move(1, a, b, c)
        # 将b剩余圆盘转移到c
        move(n - 1, b, a, c)
python 汉诺塔递归算法?_第1张图片
知乎大神画的流程图

参考知乎:python中的汉诺塔递归算法的具体运算过程是怎样的?

你可能感兴趣的:(python 汉诺塔递归算法?)