编写函数,用递归形式实现汉诺塔问题。
时间: 2024-04-29 11:26:27 浏览: 121
用递归实现汉诺塔问题
5星 · 资源好评率100%
好的,以下是实现汉诺塔问题的递归函数:
```python
def hanoi(n, source, target, auxiliary):
if n == 1:
print("Move disk 1 from", source, "to", target)
return
hanoi(n-1, source, auxiliary, target)
print("Move disk", n, "from", source, "to", target)
hanoi(n-1, auxiliary, target, source)
```
其中,`n` 表示盘子的数量,`source` 表示起始位置,`target` 表示目标位置,`auxiliary` 表示中间位置。函数会将 `n` 个盘子从起始位置移动到目标位置,并且保证大盘子不能叠在小盘子上面。
阅读全文