汉诺塔问题是经典的递归问题，设计一个程序来解决这个问题。输入参数为盘子数量和起始、结束、中间的三个柱子名字。


盘子数量：3
起始柱子：A
中间柱子：B
结束柱子：C
以下是 Python 代码实现：

```python
def hanoi(n, start, end, aux):
    if n == 1:
        print(start, "->", end)
    else:
        hanoi(n-1, start, aux, end)
        print(start, "->", end)
        hanoi(n-1, aux, end, start)

# 测试样例
hanoi(3, "A", "C", "B")
```

输出结果为：

```
A -> C
A -> B
C -> B
A -> C
B -> A
B -> C
A -> C
```