Problem Description
一对成熟的兔子每天能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是1天,小兔子出生后隔一天才能再生小兔子。第一天某人领养了一对成熟的兔子,一公一母,请问第N天以后,他将会得到多少对兔子。
Input
测试数据包括多组,每组一行,为整数n(1≤n≤90)。
输入以0结束。
Output
对应输出第n天有几对兔子(假设没有兔子死亡现象,而且是一夫一妻制)。
Sample Input
1
2
0
Sample Output
1
2
Hint
数据类型可以用64位整数:long long
Source
majia
代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,n;
long int f[91];
while(~scanf("%d",&n)&&n!=0)
{
f[1]=1;f[2]=2;
for(i=3;i<=n;i++)
{
f[i]=f[i-1]+f[i-2];
}
printf("%ld\n",f[n]);
}
return 0;
}
注意 : 每隔一天小兔子就会成为大兔子,递推条件是 前一天的所有兔子 加上 要生的兔子总数就是所有兔子的和。
本文探讨了一个经典的数学问题——兔子繁殖问题,通过递推公式模拟了兔子种群的增长,揭示了斐波那契数列的神奇性质。问题设定为一对成熟的兔子每天产下一公一母的小兔子,小兔子隔一天后可再繁殖,计算第N天的兔子对数。
819

被折叠的 条评论
为什么被折叠?



