GESP C++ 真题 · 逐题精解
首页C++五级真题 › 2023年12月 › 第1题

GESP 2023年12月 C++五级 单选题 第1题

C++五级单选题2023年12月第1题

所属知识点:分治与递归 难度要求:掌握 考频:—

下面C++代码用于求斐波那契数列,该数列第1、2项为1,以后各项均是前两项之和。下面有关说法错误的是( )。
int fiboA(int N){
    if (N == 1 || N == 2)
        return 1;
    return fiboA(N - 1) + fiboA(N - 2);
}
int fiboB(int N){
    if (N == 1 || N == 2)
        return 1;
    int last2 = 1, last1 = 1, nowVal = 0;
    for (int i = 2; i < N; i++){
        nowVal = last1 + last2;
        last2 = last1;
        last1 = nowVal;
    }
    return nowVal;
}

正确答案:C

题目解析
问错误说法。递归版 fiboA 重复计算严重(O(2ⁿ)),迭代版 fiboB 是 O(n) 更快,C 说 fiboA 效率更高错误。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习