题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....,即下个月是上两个月之和(从第三个月开始)。
#include <stdio.h>
#include <stdlib.h>
int fun(int n); //声明函数
int fun(int n) //根据兔子出生的规律 定义一个函数fun
{
if (n==1 || n==2)
return 1;
else
return fun(n-1)+fun(n-2);
}
int main()
{
int mouth;
printf("你需要查询第几个月兔子数: \n");
scanf("%d",&mouth);
fun(mouth);
printf("第%d个月兔子数量为:%d对\n",mouth,fun(mouth));
return 0;
}