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