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中的汉诺塔递归算法的具体运算过程是怎样的?