问题及代码:
提交: 125 解决: 37
[ 提交][ 状态][ 讨论版]
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
这道题推理一下发现其实就是斐波那契数列,这个数列真的是用处太多了.好奇妙!