计算斐波那契数列第n项的函数定义如下: int fib(int n) if(n==0) return 1; else if(n==1) return 2: else return fib(n-1)+f

admin2020-10-21  14

问题 计算斐波那契数列第n项的函数定义如下:
    int fib(int n)
    if(n==0)
    return 1;
    else if(n==1)
    return 2:
    else
    return fib(n-1)+fib(n-2);
    }
    执行调用表达式fib(2),则函数fib被调用的次数是(    )。

选项 A、1
B、2
C、3
D、4

答案C

解析 题意fib()函数是一个递归函数,当n等于0时,函数返回0;当n等于1时,函数返回1;当n大于1时,函数递归调用自身,返回值为fib(n—1)+fib(n一2);fib(2)调用一次函数,展开后等价于fib(1)+fib(0),又调用了2次,等价于1+0=1,总共调用3次fib()函数,本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/xwyp777K
0

最新回复(0)