def fibonacci(n, memo={}):if n in memo:return memo[n]if n <= 1:result = nelse:# 局部变量用于计算当前结果result = fibonacci(n - 1, memo) + fibonacci(n - 2, memo)memo[n] = resultreturn resultnum = 6
print(f"斐波那契数列第 {num} 项的值是: {fibonacci(num)}")
#include <iostream>
#include <unordered_map>// 带记忆化搜索的斐波那契数列函数
int fibonacci(int n, std::unordered_map<int, int>& memo) {// 如果 n 已经在 memo 中,直接返回结果if (memo.find(n) != memo.end()) {return memo[n];}int result;// 处理基本情况if (n <= 1) {result = n;} else {// 递归计算斐波那契数result = fibonacci(n - 1, memo) + fibonacci(n - 2, memo);}// 将计算结果存入 memomemo[n] = result;return result;
}int main() {int num = 6;// 用于记忆化的哈希表std::unordered_map<int, int> memo;std::cout << "斐波那契数列第 " << num << " 项的值是: " << fibonacci(num, memo) << std::endl;return 0;
}