本来用的是递归,但是爆栈了……原谅弱菜一枚本应该想到的
后来用的普通方法,只是考虑了一点大数就哦了
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
__int64 a[105],i,j,num;
__int64 n;
while(scanf("%I64d",&n)!=EOF && n!=-1)
{
a[0]=1;a[1]=1;
for(i=2;i<50;i++)
{
a[i]=a[i-1]+a[i-2];
}
printf("%I64d\n",a[n-1]);
}
return 0;
}