求怎么编程这道题,求大神,C++汉诺塔问题

题目描述汉诺塔问题:三个塔座分别为A、B、C,在A塔上有10个盘子(上面是小盘子,下面是大盘子,分别编号为1~10),每次移动一个盘子,并且不能够将大盘子放在小盘子上,用... 题目描述
汉诺塔问题:三个塔座分别为A、B、C,在A塔上有10个盘子(上面是小盘子,下面是大盘子,分别编号为1~10),每次移动一个盘子,并且不能够将大盘子放在小盘子上,用符合上述移动盘子的规则将这10个盘子从A塔上移动到C塔上,请问第n(n<=1024)次,是几号盘子从哪个塔座移动到哪个塔座。

输入描述

一个整数n,代表当前的移动次数

输出描述

三个信息:分别是盘子号、源塔座、目标塔座,他们之间用空格隔开

输入样例

2

输出样例

2 A C
展开
 我来答
Pro_stars
2013-11-05 · TA获得超过159个赞
知道答主
回答量:30
采纳率:0%
帮助的人:33万
展开全部
#include<stdio.h> 
move(int n,int x,int y,int z) 

if(n==1) 
printf("%c-->%c\n",x,z); 
else 

move(n-1,x,z,y); 
printf("%c-->%c\n",x,z); 
move(n-1,y,x,z); 


main() 

int h; 
printf("\ninput number:\n"); 
scanf("%d",&h); 
printf("the step to moving %2d diskes:\n",h); 
move(h,'a','b','c'); 
}

 这是C的,如果一定要C++,就把输出输入改成cout,cin好了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式