1909: 养兔子


时间限制: 1 Sec   内存限制: 64 MB

提交: 125  

解决: 37

[

​提交​​][

​状态​​][

​讨论版​​]


题目描述


一对成熟的兔子每月能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是一个月,而成熟后的第二个月才开始生小兔。某人领养了一对小兔子,一公一母,请问第N个月以后,他将会得到多少对兔子。


输入


测试数据包括多组,每组一行,为整数n(1≤n≤90)。 输入以0结束。


输出


对应输出第n个月有几对兔子(假设没有兔子死亡现象,而且是一夫一妻制)。


#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,n;
long long int f[100];
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("%lld\n",f[n]);

}
return 0;
}

知识点总结:数据类型可以用64位整数:long long

这道题推理一下发现其实就是斐波那契数列,这个数列真的是用处太多了.好奇妙!