下面程序的输出为(带记忆化的 fib):
int rec_fib[100];
int fib(int n) {
if (n <= 1) return n;
if (rec_fib[n] == 0)
rec_fib[n] = fib(n-1) + fib(n-2); // 写回缓存
return rec_fib[n];
}
// 输出 fib(6)
- A. 8
- B. 13
- C. 64
- D. 结果是随机的。
正确答案:A
int rec_fib[100];
int fib(int n) {
if (n <= 1) return n;
if (rec_fib[n] == 0)
rec_fib[n] = fib(n-1) + fib(n-2); // 写回缓存
return rec_fib[n];
}
// 输出 fib(6)
正确答案:A
想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?
进入 GESPPASS 开始练习