-->
当前位置:首页 > 题库

编程题:C程序设计实验3-2:递归法求Hanoi塔输出

Luz4年前 (2022-10-13)题库565
题目描述:递归方法进行Hanoi塔问题求解,这里要求输入Hanoi塔层数n,输出盘子移动步骤。
汉诺塔问题:有三根杆子X,Y,Z。X杆上有n个(1<=n<=10)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至Z杆:每次只能移动一个圆盘,大盘不能叠在小盘上面。求解步骤可参照下图:

![Hanoi.jpg](~/90a60da6-bdc9-4b13-91c9-7854a6653e21.jpg)

### 输入格式:
输入为一个正整数n为盘子数目,且$1<=n<=10$。

### 输出格式:
输出每一步移动盘子的记录。一次移动一行。
每次移动的记录为例如3:X->Y 的形式,即把编号为3的盘子从X杆移至Y杆。
我们约定圆盘从小到大编号为1, 2, ...n。即最上面那个最小的圆盘编号为1,最下面最大的圆盘编号为n。

### 输入样例:
在这里给出一组输入。例如:
in
3


### 输出样例:
在这里给出相应的输出。例如:

out
1:X->Z
2:X->Y
1:Z->Y
3:X->Z
1:Y->X
2:Y->Z
1:X->Z

### 输入样例:
在这里给出一组输入。例如:
in
0

### 输出样例:
在这里给出相应的输出。例如:

out
Wrong Input.









答案:若无答案欢迎评论