python汉诺塔问题求解
时间: 2023-12-04 09:41:45 浏览: 127
汉诺塔问题求解
下面是使用Python递归解决汉诺塔问题的代码:
```python
def hanoi(n, source, target, auxiliary):
if n > 0:
# 把n-1个盘子从source移动到auxiliary
hanoi(n-1, source, auxiliary, target)
# 把第n个盘子从source移动到target
print(f"把第{n}个盘子从{source}移动到{target}")
# 把n-1个盘子从auxiliary移动到target
hanoi(n-1, auxiliary, target, source)
# 测试
hanoi(3, "A", "C", "B")
```
这个程序定义了一个名为`hanoi`的函数,它接受四个参数:盘子的数量(n)、源柱子(source)、目标柱子(target)和辅助柱子(auxiliary)。通过递归调用`hanoi`函数,我们可以实现汉诺塔问题的求解。在测试中,我们使用3个盘子,源柱子为A,目标柱子为C,辅助柱子为B。
阅读全文