#2070
用递归你就错了系列,一直卡在超时上,只能用数学等式推导
__int64是两个下划线,之前一直以为是一个下划线,也就是一个64位的数,那其实用long也行
AC代码
#include <iostream>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int main() {
__int64 a[100];
int n;
while(scanf("%d",&n)!=EOF && n!=-1) {
a[0]=0;
a[1]=1;
for(int i=2; i<=n; i++) {
a[i]=a[i-1]+a[i-2];
}
cout<<a[n]<<endl;
}
return 0;
}