斐波那契数列
2025-01-12 09:24:40
发布于:浙江
递归
#include<bits/stdc++.h>
using namespace std;
long long f(long long n){
if(n<=2)return 1;
else return f(n-1)+f(n-2);
}
int main(){
long long n;
cin>>n;
cout<<f(n);
return 0;
}
记忆化
#include<bits/stdc++.h>
using namespace std;
long long a[114514];
long long f(long long n){
if(n<=2)return 1;
if(a[n]>0)return a[n];
a[n]=f(n-1)+f(n-2);
return a[n];
}
int main(){
long long n;
cin>>n;
cout<<f(n);
return 0;
}
递推
#include<bits/stdc++.h>
using namespace std;
long long f[114514];
int main(){
long long n;
cin>>n;
f[1]=f[2]=1;
for(long long i=3;i<=n;i++)f[i]=f[i-1]+f[i-2];
cout<<f[n];
return 0;
}
这里空空如也
有帮助,赞一个