function f($n)
{
if ($n == 0 || $n == 1)
return 2;
return f($n-1) + f($n-2);
}
echo f(5);
Run Code Online (Sandbox Code Playgroud)
这给了我16但我不明白为什么.
我知道它是这样的:
return f(4) + f(3)
return f(4) + f(3)+ f(3) + f(1)
Run Code Online (Sandbox Code Playgroud)
但是现在,因为值n是1,它应该返回2.
所以它基本上就是这样
return f(4) + f(3)+ f(2)
Run Code Online (Sandbox Code Playgroud)
应该是哪个9,但它给了我16.
任何人都可以解释请问?