C语言!跪求使用递归法的例题(带答案的)
4个回答
展开全部
汉诺塔算法, 一个柱子1上n个盘子套着,大的在下,借用柱子2,全部转移到柱子3上
#include <stdio.h>
int main()
{
void hanoi(int n,char one,char two,char three); // 对hanoi函数的声明
int m;
printf("input the number of diskes:");
scanf("%d",&m);
printf("The step to move %d diskes:\n",m);
hanoi(m,'A','B','C');
}
void hanoi(int n,char one,char two,char three) // 定义hanoi函数
// 将n个盘从one座借助two座,移到three座
{
void move(char x,char y); // 对move函数的声明
if(n==1)
move(one,three);
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}
void move(char x,char y) // 定义move函数
{
printf("%c-->%c\n",x,y);
}
在hanoi调用hanoi就是递归了
#include <stdio.h>
int main()
{
void hanoi(int n,char one,char two,char three); // 对hanoi函数的声明
int m;
printf("input the number of diskes:");
scanf("%d",&m);
printf("The step to move %d diskes:\n",m);
hanoi(m,'A','B','C');
}
void hanoi(int n,char one,char two,char three) // 定义hanoi函数
// 将n个盘从one座借助two座,移到three座
{
void move(char x,char y); // 对move函数的声明
if(n==1)
move(one,three);
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}
void move(char x,char y) // 定义move函数
{
printf("%c-->%c\n",x,y);
}
在hanoi调用hanoi就是递归了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
菲波那锲数列
int feiponaqie(int n)
{
if(n==0 || n==1)
return 0;
else
return feiponaqie(n - 1) + feiponaqie(n -2)
}
阶乘(这里N最好别超过8)
int jiecheng(int n)
{
if(n==0)
return 1;
else
return n*jiecheng(n-1)
}
int feiponaqie(int n)
{
if(n==0 || n==1)
return 0;
else
return feiponaqie(n - 1) + feiponaqie(n -2)
}
阶乘(这里N最好别超过8)
int jiecheng(int n)
{
if(n==0)
return 1;
else
return n*jiecheng(n-1)
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
http://www.cppblog.com/superKiki/category/14514.html
这里边举了几个经典例子,可以自己做做
这里边举了几个经典例子,可以自己做做
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
汉诺塔、n个数全排列
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询