14、给定如下函数:则当n=7时,函数返回值为( )。
答案:D
解析:函数的计算过程:
fun(1) 的返回值是 1。
fun(2) 的返回值是 2。
对于其他 n >= 3 的情况,函数递归地计算 fun(n):
fun(3) = fun(1) - fun(2) = 1 - 2 = -1
fun(4) = fun(2) - fun(3) = 2 - (-1) = 3
fun(5) = fun(3) - fun(4) = (-1) - 3 = -4
fun(6) = fun(4) - fun(5) = 3 - (-4) = 7
fun(7) = fun(5) - fun(6) = -4 - 7 = -11
根据递归定义,我们可以看出 fun(n) 的计算是基于前两个值的递归差值。
现在来解决问题,当 n = 7 时,函数 fun(7) 返回的值是 -11。
因此,正确答案是 D. -11。