计算数列第n项的函数定义如下: int fa(int n) { if(n==1)return 1; else return 3*fa(n-1)+2; } 若执行函数调用表达式fa(4)时,返回的函数值为( )。

admin2021-02-22  25

问题 计算数列第n项的函数定义如下:
    int fa(int n) {
    if(n==1)return 1;
    else return 3*fa(n-1)+2;
    }
    若执行函数调用表达式fa(4)时,返回的函数值为(    )。

选项 A、53
B、17
C、23
D、49

答案A

解析 题意fa( )函数是一个递归函数,当n取值不等于1时,函数递归调用自身,返回值为3*fa(n-1)+2;当n取值为1时,函数返回值为1;所以fa(4)展开,等价于3*fa(3)+2,等价于3*(3*fa(2)+2)+2,等价于3*(3*(3*fa(1)+2)+2)+2,等价于3*(3*(3*1+2)+2)+2,也就等价于:53,本题答案为A。
转载请注明原文地址:https://kaotiyun.com/show/F9fp777K
0

最新回复(0)