计算斐波那契数列第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),则

admin2021-09-05  61

问题 计算斐波那契数列第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://jikaoti.com/ti/Gkc0FFFM
0

最新回复(0)