没想到斐波那契数列翻车了
#include<bits/stdc++.h>
using namespace std;
double Fn(int x){
if(x==1) return 1;
if(x==2) return 1;
return ( Fn(x-1)+ Fn(x-2) );
}
long long a[100];
int main(){
int n;
cin>>n;
a[1]=1;
a[2]=2;
if( n==1 || n==2) cout<<"1.00";
else {
for(int i=3 ; i<=n ;++i)
a[i]=a[i-1] + a[i-2];
cout<<a[n-1]<<".00"<<endl;
}
}
没想到递归超时了只能用循环
应该是递归算了很多次a1 a2