兔子生娃问题---函数递归应用--c语言实现

事情是这样的:在很久很久以前。。。。有一对兔子,从出生后第 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对兔子 ",month,calrabbit(month));
}
}



原文地址:https://www.cnblogs.com/marsggbo/p/6622954.html