题解
2025-08-17 14:18:47
发布于:广东
2阅读
0回复
0点赞
可以用前缀和解决,代码如下:
(有递归的,在下面)
#include<bits/stdc++.h>
using namespace std;
long long a[100010];
int main(){
int n;
cin>>n;
a[1] = a[2] = 1;
for(int i = 3;i<=n;i++){
a[i] = a[i-1]+a[i-2];
}
cout<<a[n];
return 0;
}
但是题目要求使用递归解决,则递归代码如下:
#include<bits/stdc++.h>
using namespace std;
int a(int n){
if(n == 1 ||n == 2)return 1;
return a(n-1)+a(n-2);
}
int main(){
int n;
cin>>n;
cout<<a(n);
return 0;
}
这里空空如也
有帮助,赞一个