已知的最快版本~
#include <bits/stdc++.h>
using namespace std;
long long ans[100]= {0};
int n;
void f(int n)
{
if(n==1||n==2)
{
ans[n]=1;
return;
}
if(ans[n]!=0)
{
return;
}
f(n-1);
f(n-2);
ans[n]=ans[n-1]+ans[n-2];
}
int main()
{
cin>>n;
f(n);
cout<<ans[n]<<endl;
return 0;
}
其实是打着递归旗号的递推