#递归问题: 汉诺塔问题
- n 个圆盘时
-
- 把 n-1 个圆盘从 A 经过 C 移动到 B
-
- 把 第 n 个圆盘从 A 移动到 C
-
- 把 n-1 个圆盘从 B 经过 A 移动到 C
-
def hanoi(n, a, b, c):
"""
n: n 个圆盘
a: A 柱子
b: B 柱子
c: C 柱子
return: a->b->c
"""
if n > 0:
hanoi(n-1, a, c, b)
print("moving from %s to %s " % (a, c))
hanoi(n-1, b, a, c)
tmp = hanoi(3, "A", "B", "C")