用递归求汉诺塔,
汉诺(Hanoi)塔问题:古代有一个梵塔,塔内有三个座A、B、C,A座上有n个盘子,盘子大小不等,大的在下,小的在上(如图)。有一个和尚想把这n个盘子从A座移到C座,但每次只能允许移动一个盘子,并且在移动过程中,3个座上的盘子始终保持大盘在下,小盘在上。在移动过程中可以利用B、C座,要求打印移动的步骤(前100步)和共需步数。
若n>100,输出前100步。
若n<=100,输出所有步。
最后一行输出n。
每一步的格式:a b c d,a为步序数,b为移动的盘子序号,c d表示从c移到d。
5
1 1 A C 2 2 A B 3 1 C B 4 3 A C 5 1 B A 6 2 B C 7 1 A C 8 4 A B 9 1 C B 10 2 C A 11 1 B A 12 3 C B 13 1 A C 14 2 A B 15 1 C B 16 5 A C 17 1 B A 18 2 B C 19 1 A C 20 3 B A 21 1 C B 22 2 C A 23 1 B A 24 4 B C 25 1 A C 26 2 A B 27 1 C B 28 3 A C 29 1 B A 30 2 B C 31 1 A C 31