#3651. [GESP202312 六级 C++] 第 8 题

[GESP202312 六级 C++] 第 8 题

下面的 fiboA()fiboB() 两个函数分别实现斐波那契数列,该数列第 1、第 2 项值为 1,其余各项分别为前两项之和。下面有关说法错误的是( )。

int fiboA(int n)
{
    if(n==0)
        return 1;
    if(n==1)
        return 1;
    else
    {
        return fiboA(n-1)+fiboA(n-2);
    }
}
int fiboB(int n)
{
    if( (n==0) || (n==1) ){
        fiboB[n]=n;
        return n;
    }
    else{
        if(fiboB[n] == 0){
            fiboB[n]=FiboB(n-1)+FiboB(n-2);
        }
        return fiboB[n];
    }
}

{{ select(1) }}

  • fiboA() 采用递归方式实现斐波那契数列
  • fiboB() 采用动态规划算法实现斐波那契数列
  • N 值较大时,fiboA() 存在大量重复计算
  • 由于 fiboA() 代码较短,其执行效率较高