64层汉诺塔python代码递归
时间: 2024-11-24 14:41:46 浏览: 4
汉诺塔python代码递归
汉诺塔是一个经典的递归问题,涉及将一堆盘子从一根柱子移动到另一根柱子,每次只能移动最上面的一块,并且大盘子不能放在小盘子上。对于64层的汉诺塔,你可以编写如下的Python递归代码:
```python
def hanoi(n, source, auxiliary, target):
if n > 0:
# 将n - 1层的盘子从source移动到auxiliary
hanoi(n - 1, source, target, auxiliary)
# 移动最大的盘子到目标
print(f"Move disk {n} from {source} to {target}")
# 最后,将剩余的n - 1层从auxiliary移动到target
hanoi(n - 1, auxiliary, source, target)
# 调用函数,源、辅助和目标分别为A、B和C(假设这是汉诺塔游戏的标准名称)
hanoi(64, 'A', 'B', 'C')
```
当你运行这个代码时,它会按照汉诺塔的规则一步步地完成64层的移动。注意,实际运行时可能会有大量输出,因为每一步都会打印出来。
阅读全文