python汉诺塔问题程序流程图
时间: 2024-06-16 15:04:56 浏览: 137
汉诺塔问题
4星 · 用户满意度95%
Python中的汉诺塔问题可以使用递归来解决。下面是一个简单的程序流程图:
1. 定义一个函数hanoi,接受三个参数:n表示盘子的数量,A、B、C表示三个柱子。
2. 如果n等于1,则直接将盘子从A移动到C。
3. 否则,先将n-1个盘子从A移动到B(借助C),然后将最后一个盘子从A移动到C,最后将n-1个盘子从B移动到C(借助A)。
4. 在hanoi函数中调用自身来实现递归。
下面是一个示例的Python代码:
```python
def hanoi(n, A, B, C):
if n == 1:
print(f"Move disk 1 from {A} to {C}")
else:
hanoi(n-1, A, C, B)
print(f"Move disk {n} from {A} to {C}")
hanoi(n-1, B, A, C)
# 测试
n = 3
hanoi(n, 'A', 'B', 'C')
```
阅读全文