SHAOXIAOJ正在加载中...

1115: 【实验6.4.2 模块化程序设计】

金币值:2 定数:3 时间限制:1.000 s 内存限制:128 M
正确:0 提交:2 正确率:0.00% 命题人:
点赞量:0 收藏量:0 题目类型:程序 知识点: 函数

题目描述

编写递归函数法实现汉诺塔问题,问题描述如下:
设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上,并仍按同样顺序叠置。