一只成熟的兔子每天能产下一胎兔子。每只小兔子的成熟期是一天。 某人领养了一只小兔子,请问第N天以后,他将会得到多少只兔子。
输入描述:
测试数据包括多组,每组一行,为整数n(1≤n≤90)。
输出描述:
对应输出第n天有几只兔子(假设没有兔子死亡现象)。
输入例子:
1 2
输出例子:
1 2
分析这个题 就知道前 i-1 天的数量 加上 i-2天的数量就好
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
long long int a[100];
int main()
{
long long int num;
memset(a,0,sizeof(a));
a[1]=1;
a[2]=2;
while(scanf("%lld",&num)!=EOF)
{
long long int nm=0;
if(num==1)
cout<<a[num]<<endl;
if(num==2)
cout<<a[num]<<endl;
if(num>2)
{
for(int i=3;i<=num;i++)
{
nm=(a[i-1]+a[i-2]);
a[i]=a[i-1]+a[i-2];
}
cout<<nm<<endl;
}
}
return 0;
}
///当测试样例为46时 最后结果是错误的
///容易溢出 所以用long long int 来存取