解题记录:Hanoi塔问题

题目:
(n阶Hanoi塔问题)假设有三个分别命名为A、B、C的塔座,在塔座A上插有n(n<20)个直径大小各不相同、依小到大编号为1,2,…,n的圆盘。现要求将A轴上的n个圆盘移至塔座C上并仍按同样顺序叠排,圆盘移动时必须遵循下列规则: 1)每次只能移动一个圆盘; 2)圆盘可以插在A、B、C中的任一塔座上; 3)任何时刻都不能将一个较大的圆盘压在较小的圆盘之上。 请通过编程来打印出移动的步骤.

输入:
只有一组输入数据.输入数据N(;表示在开始时A塔座上的盘子数),当输入0时程序结束.

输出:
输出移动的步骤.如"A–>C","A–>B"等.每两的步骤之间有三个空格隔开,每输出5个步骤就换行.详细的见Sample Output.

样例输入:

5
2
0

样例输出:

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

我的代码:http://putpan.com/fs/051320418449826b6f7/


猜你喜欢

转载自blog.csdn.net/weixin_43751110/article/details/86670997