(int n) { return((n<=0)?n:f(n-1)+f(n-2)); }对于以下递归函数f,调用f(4)的返回值是

2024年10月31日 11:19
有1个网友回答
网友(1):

返回值= -3;

因为:
f(4)=f(3)+f(2) = -2 + -1 = -3

f(3)=f(2)+f(1) = -1 + -1 = -2

f(2) = f(1) + f(0) = -1 + 0 = -1

f(1) = f(0) + f(-1) = -1

f(0)=0

f(-1) = -1

如果你只是想知道f(4) 的话, 你可以把你的代码运行一次 然后打出结果就可以看到了。
function f($var){
if($var <= 0){
return $var;
}
else{
$x = $var - 1;
$y = $var - 2;
return f($x) + f($y);
}
}
$a = f(4);
var_dump($a);