标题:帮我解说一下:汉诺塔递归调用 好吗
只看楼主
小小
Rank: 1
等 级:新手上路
威 望:1
帖 子:219
专家分:0
注 册:2004-5-31
 问题点数:0 回复次数:4 
帮我解说一下:汉诺塔递归调用 好吗

main()

{int n;

void hanoi(int n,char a,char b, char c);

printf("\n please enter the number of disks to be moved:");

scanf("%d",&n);

hanoi(n,'a','b','c');

}

void hanoi(int n, char a,char b,char c)

{

if(n>0)

{

hanoi( n-1,a,c,b);

printf("\n Move disc %d from pile %c to %c",n,a,b);

hanoi(n-1,c,b,a);

}

}

想问一下,怎么样自己调用了自己?

[此贴子已经被作者于2004-06-07 12:19:54编辑过]

搜索更多相关主题的帖子: 汉诺塔 递归 char hanoi 
2004-06-07 12:11
fququ
Rank: 1
等 级:新手上路
威 望:1
帖 子:181
专家分:0
注 册:2004-5-30
得分:0 

许多书上都有详给的介绍

大概每本讲C的都讲吧

如果你找不到的话我推荐谭浩强老师编写的c程序设计

里面有相当详细的介绍


2004-06-08 01:09
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1851
专家分:1858
注 册:2004-5-30
得分:0 
我这里有一个三层的汉诺塔递归算法,不知道对你有没有用,拿去个参考吧!

感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2004-06-10 11:57
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1851
专家分:1858
注 册:2004-5-30
得分:0 

void HANOI (int n,int peg1,int peg2,int peg3){

if(n==1)cout<<peg1,<<"--->"<<peg3<<endl;

else{

HANOI(n-1,peg1,peg3,peg2);

cout<<peg1<<"-->"peg3<<endl;

HANOI(n-1,peg2,peg1,peg3);

}

}


感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2004-06-10 12:02
小小
Rank: 1
等 级:新手上路
威 望:1
帖 子:219
专家分:0
注 册:2004-5-31
得分:0 

小妹

谢 啊


有一天咖啡的舞者 £
2004-06-10 13:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-2116-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.080653 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved