【发布时间】:2017-01-15 12:09:37
【问题描述】:
我正在使用 PHP 玩斐波那契数列。我了解递归函数的概念,但我不明白这里发生了什么。
代码:
function fs($n) {
if ($n < 1) {
return 1;
} // if
echo " n is " . $n . "<br>";
echo fs($n - 1) + fs($n - 2) . " when n is " . $n . "<br>";
} // function
echo fs(3);
这是回报:
n is 3
n is 2
n is 1
2 when n is 1
1 when n is 2
n is 1
2 when n is 1
0 when n is 3
【问题讨论】:
-
你到底有什么不明白的?你所拥有的是一个计算斐波那契数的函数。是看不懂斐波那契数列,还是看不懂输出?
-
我了解斐波那契,但不了解输出。 “n 为 3”,然后“n 为 2”,然后“n 为 1” - 为什么下一个输出“n 为 1 时为 2”?这是我不明白的代码执行顺序。提前致谢