用python解决汉诺塔问题
时间: 2023-06-19 07:05:38 浏览: 67
python实现汉诺塔算法
5星 · 资源好评率100%
汉诺塔问题是一个经典的递归问题,可以用Python代码来解决。以下是一个示例代码:
```python
def hanoi(n, A, B, C):
if n == 1:
print(A, "->", C)
else:
hanoi(n-1, A, C, B)
print(A, "->", C)
hanoi(n-1, B, A, C)
# 例子:将3个盘子从A移到C
hanoi(3, "A", "B", "C")
```
输出结果为:
```
A -> C
A -> B
C -> B
A -> C
B -> A
B -> C
A -> C
```
其中,`n`表示盘子的数量,`A`、`B`、`C`分别表示三个柱子。函数中,首先判断如果只有一个盘子,则直接将其从A柱移动到C柱;否则,将前n-1个盘子从A柱移动到B柱,将第n个盘子从A柱移动到C柱,再将前n-1个盘子从B柱移动到C柱。最后调用函数,将三个柱子的名称传入即可。
阅读全文