题解(就是斐波那契数列,递归会超)
2025-03-07 21:53:44
发布于:江苏
10阅读
0回复
0点赞
#include<iostream>
using namespace std;
long long n,a[55]={0,1,2};
int main(){
cin>>n;
if(n<=1){
cout<<a[n];
}
for(int i=3;i<=n;i++){
a[i]=a[i-1]+a[i-2];
}
cout<<a[n];
}
全部评论 1
不会啊?a=100都能过
#include <bits/stdc++.h> using namespace std; unordered_map<int, long long> memo; long long def(int a) { if(a < 2) return 1; if(memo.find(a) != memo.end()) return memo[a]; return memo[a] = def(a-1) + def(a-2); } int main() { cin.tie(0); ios::sync_with_stdio(false); int a; cin >> a; cout << def(a); return 0; }
1周前 来自 浙江
0huh?可能是我的代码有些一坨吧......
1周前 来自 江苏
0加了记忆化
1周前 来自 浙江
0az,那是我的代码问题
1周前 来自 江苏
0
有帮助,赞一个