p.s.个人收录用
题目描述
有一种兔子,出生后一个月就可以长大,然后再过一个月一对长大的兔子就可以生育一对小兔子且以后每个月都能生育一对。现在,我们有一对刚出生的这种兔子,那么,n个月过后,我们会有多少对兔子呢?假设所有的兔子都不会死亡。
输入
输入文件仅一行,包含一个自然数n (1 <= n <= 50)。
输出
输出文件仅一行,包含一个自然数,即n个月后兔子的对数。
样例输入 Copy
5
样例输出 Copy
5
代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
#include <string.h>
//兔子繁殖
int a[100] = { 0 };
int reproduce(int n)
{
if (a[n])
return a[n];
a[n] = reproduce(n - 1) + reproduce(n - 2);
return a[n];
}
int main()
{
int n;
scanf("%d", &n);
a[1] = 1;a[2] = 1;a[3] = 2;
printf("%d\n", reproduce(n));
}