0
我們可以說當$number <2
它不再調用factirial()
函數嗎?或者它調用階乘()函數,但它始終將階乘設置爲階乘(1)。如果是這樣,我認爲遞歸使用更多的內存。我對麼?如何返回遞歸工作?
<?php function factorial($number){
if ($number < 2) {
return 1;
} else {
return ($number * factorial($number-1));
}
}
echo factorial(5);
?>
這是我猜的功能
3*factorial(2)
2*factorial(1)
1*factorial(1)
1*factorial(1)
如果'$ number' <2,函數返回,而不是再次調用。只有'$ number'> 2時纔會輸入遞歸狀態。 – BenM 2013-02-10 09:58:29
爲什麼它總是回退1,因爲對於任何數字來說它都是'$ number <2' – newday 2013-02-10 10:02:13
@BenM當'$ number> = 2'(小錯字) – Supericy 2013-02-10 10:48:10