来,详细注释讲解(递归记忆化写法)
2025-08-19 18:31:06
发布于:浙江
1阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
long long f[70]; // 全局记忆化数组,初始值为0
long long dfs(int x) {
// 1. 记忆化检查:如果已经计算过,直接返回存储的值
if (f[x]) {
return f[x];
}
// 2. 递归终止条件:斐波那契数列前两项为1
if (x <= 2) {
return f[x] = 1; // 赋值并返回
}
// 3. 递归计算:f(x) = f(x-1) + f(x-2)
return f[x] = dfs(x - 1) + dfs(x - 2);
}
int main() {
int n;
cin >> n;
cout << dfs(n);
return 0;
}
这里空空如也
有帮助,赞一个