兔子生娃问题---函数递归应用--c语言实现
2017-03-26 11:24
417 查看
事情是这样的:在很久很久以前。。。。有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
兔子的规律为数列:1, 1, 2, 3, 5, 8, 13, 21 ....
#include <stdio.h>
int calrabbit(int month);
int calrabbit(int month)
{
int sum;
if(month>0&&month<=2)
{
sum = 1;
}
if(month == 3)
{
sum = 2;
}
if(month > 3)
{
sum = calrabbit(month-1)+calrabbit(month-2);
}
return sum;
}
int main(void)
{
int month;
while(1) //为了便于检验所以用了循环。。。但是停不下来了。所以只能手动停止啦
{
printf ("month = ");scanf("%d",&month);
printf("%d月后共有%d对兔子\n\n",month,calrabbit(month));
}
}
兔子的规律为数列:1, 1, 2, 3, 5, 8, 13, 21 ....
#include <stdio.h>
int calrabbit(int month);
int calrabbit(int month)
{
int sum;
if(month>0&&month<=2)
{
sum = 1;
}
if(month == 3)
{
sum = 2;
}
if(month > 3)
{
sum = calrabbit(month-1)+calrabbit(month-2);
}
return sum;
}
int main(void)
{
int month;
while(1) //为了便于检验所以用了循环。。。但是停不下来了。所以只能手动停止啦
{
printf ("month = ");scanf("%d",&month);
printf("%d月后共有%d对兔子\n\n",month,calrabbit(month));
}
}
相关文章推荐
- 兔子生娃问题---函数递归应用--c语言实现
- 兔子生娃问题---函数递归应用--c语言实现
- 数据结构基础(6)--递归和函数调用--汉诺塔问题C语言实现
- 数据结构的应用——使用栈和递归实现Hanoi问题求解
- 用C语言解决(hanoi)汉诺塔问题——函数的递归调用
- 【C语言】编写一个函数实现n^k,使用递归实现
- 用c语言实现 编写一个函数实现n^k,使用递归实现
- 【C语言】编写一个函数实现n^k,使用递归实现。
- 对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?
- C语言简单函数递归调用问题
- C语言 编写一个函数实现n^k,使用递归实现
- C语言,函数的声明,定义,以及调用(实现).举例应用.学了这么长时间,初步明白,汗颜啊
- 括号匹配问题 栈的应用 C语言实现
- 找零钱问题(C语言实现)——贪心算法应用(1)
- 【c语言】 编写一个函数实现n^k,使用递归实现
- 迷宫问题--非递归回溯 C语言实现
- Hanoi塔问题 栈与递归C语言编程实现
- 找零钱问题(C语言实现)——贪心算法应用(1)
- 0-1背包和背包问题(C语言实现)——贪心算法应用(3)
- 【C语言】编写一个函数reverse_string(char * string)(递归实现),将参数字符串中的字符反向排列,不能使用C函数库中的字符串操作函数。