1115: 【实验6.4.2 模块化程序设计】
金币值:2
定数:3
时间限制:1.000 s
内存限制:128 M
正确:0
提交:2
正确率:0.00% 命题人:
题目描述
编写递归函数法实现汉诺塔问题,问题描述如下:
设A,B,C是三个塔座。开始时,在塔座A上有一叠共n个圆盘,这些圆盘自上而下,由小到大地叠在一起。各圆盘从小到大编号为1,2,…,n,现要求将塔座A上的这一叠圆盘移到塔座B上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则:
规则1:每次只能移动1个圆盘;
规则2:任何时刻都不允许将较大的圆盘压在较小的圆盘之上;
规则3:在满足移动规则1和2的前提下,可将圆盘移至A,B,C中任一塔座上。
设A,B,C是三个塔座。开始时,在塔座A上有一叠共n个圆盘,这些圆盘自上而下,由小到大地叠在一起。各圆盘从小到大编号为1,2,…,n,现要求将塔座A上的这一叠圆盘移到塔座B上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则:
规则1:每次只能移动1个圆盘;
规则2:任何时刻都不允许将较大的圆盘压在较小的圆盘之上;
规则3:在满足移动规则1和2的前提下,可将圆盘移至A,B,C中任一塔座上。
输入格式
一个整数n
输出格式
见样例输出
输入样例 复制
3
输出样例 复制
第1步:将1号盘子从A--->B
第2步:将2号盘子从A--->C
第3步:将1号盘子从B--->C
第4步:将3号盘子从A--->B
第5步:将1号盘子从C--->A
第6步:将2号盘子从C--->B
第7步:将1号盘子从A--->B
提示
注意:本题要求将塔座A上的这一叠圆盘移到塔座B上,并仍按同样顺序叠置。其它教材或网络的要求可能是将塔座A上的这一叠圆盘移到塔座C上,并仍按同样顺序叠置。