一对成熟的兔子每天能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是1天,小兔子出生后隔一天才能再生小兔子。第一天某人领养了一对成熟的兔子,一公一母,请问第N天以后,他将会得到多少对兔子。
Input
测试数据包括多组,每组一行,为整数n(1≤n≤90)。
输入以0结束。
Output
对应输出第n天有几对兔子(假设没有兔子死亡现象,而且是一夫一妻制)。
Sample Input
1
2
0
Sample Output
1
2
Hint
数据类型可以用64位整数:long long
简单的递推题,核心思想是找到逻辑关系式
#include<stdio.h>
#include<stdlib.h>
int main()
{
long long a[100] = {0,1,2};
int n, i;
while(~scanf("%d",&n)&&n)
{
for(i = 3; i <= n; i++)
a[i] = a[i - 1] + a[i - 2];
printf("%lld\n",a[n]);
}
return 0;
}