搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 帮忙解释下汉诺塔问题
标题:
帮忙解释下汉诺塔问题
取消只看楼主
悠闲的紫
等 级:
新手上路
帖 子:21
专家分:0
注 册:2008-10-13
楼主
问题点数:0 回复次数:3
帮忙解释下汉诺塔问题
void move(int n,int x,int y,int z)
{
if(n==1)
printf("\t\t\t%c-->%c\n",x,z);
else
{
move(n-1,x,z,y);
printf("\t\t\t%c-->%c\n",x,z);
move(n-1,y,x,z);
}
}
这个是程序,我不知道为什么要这样写谁能帮忙解释下下!~~~
先谢过
搜索更多相关主题的帖子:
汉诺塔
解释
2008-10-14 09:51
悠闲的紫
等 级:
新手上路
帖 子:21
专家分:0
注 册:2008-10-13
第
2
楼
得分:0
我刚刚接触C,这个是书上的,
虽然没图形输出,但能显示搬运的步骤。
我不知道是怎么推出来的,谁能帮演示下。
把知识都和我说
2008-10-15 16:39
悠闲的紫
等 级:
新手上路
帖 子:21
专家分:0
注 册:2008-10-13
第
3
楼
得分:0
3楼大大谢谢
把知识都和我说
2008-10-16 16:51
悠闲的紫
等 级:
新手上路
帖 子:21
专家分:0
注 册:2008-10-13
第
4
楼
得分:0
有 a b c 三个柱子
判断 盘子个数(n) 为1 a上的盘子 -> c
否则:
执行 move n-1 a c b .....就是说现在 这里 a=a c=b b=c
判断 盘子个数(n-1) 为1 a上的盘子 -> c 就是把 a->b
执行 move n-1 b a c ..........现在 这里 b=a=a a=c=b c=b=c
判断 盘子个数(n) 为1 a上的盘子 -> c 就是把 b->c
也就是里边的柱子的位置在变是不是啊?
把知识都和我说
2008-10-20 09:59
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-238133-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.637572 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved