第20831题 单选
下列关于C++两种斐波那契数列实现的说法错误的是?

已知斐波那契数列第1、2项为1,后续每项均为前两项之和,现有两种C++实现代码如下:

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;
    int nowVal = 0;
    for (int i = 2; i < N; i++)
    {
        nowVal = last1 + last2;
        last2 = last1;
        last1 = nowVal;
    }
    return nowVal;
}
A

fiboA()采用递归方式实现,fiboB()采用循环方式实现

B

fiboA()更加符合斐波那契数列的数学定义,直观易于理解,而fiboB()需要将数学定义转换为计算机程序实现

C

fiboA()不仅仅更加符合数学定义,直观易于理解,且因代码量较少执行效率更高

D

fiboB()虽然代码量有所增加,但其执行效率更高