用Python写汉诺塔
时间: 2024-10-24 10:09:35 浏览: 19
Python实现汉诺塔与斐波那契数列算法
汉诺塔是一个经典的递归问题,通常涉及三个柱子和一堆盘子,规则是大盘子不能放在小盘子上,每次只能移动一个盘子,且大盘子必须在最后。以下是使用Python编写汉诺塔的一个简单版本:
```python
def hanoi(n, source, target, auxiliary):
if n > 0:
# 搬动n-1个盘子到辅助柱子
hanoi(n - 1, source, auxiliary, target)
# 将最大的盘子从源移到目标
print(f"Move disk {n} from {source} to {target}")
# 最后将剩下的n-1个盘子从辅助柱子搬回目标
hanoi(n - 1, auxiliary, target, source)
# 调用函数,开始游戏
hanoi(3, 'A', 'C', 'B') # A代表源柱子,B代表辅助柱子,C代表目标柱子
```
这个函数首先递归地处理n-1个小盘子,然后直接移动大盘子,最后再次递归处理剩余的小盘子。当n等于1时,这是一个基本情况,可以直接完成。
阅读全文