?
//遞歸
//斐波那契數列
function digui($n)
{if($n > 2) {$arr[$n] = digui($n-1) + digui($n-2);return $arr[$n];} else {return 1;}
}//使用
echo digui(5);
?
總結 :
首先應該想到出口是什么,將出口放在else條件里
例如,本例斐波那契數列中,出口是前兩個數是1,也就是數組下標為0和1的元素是1(出口)
然后找到數列的規律,本例中,規律是后一個數是前兩個數字相加,所以,條件就是$arr[$n]=digui($n-1)+digui($n-2)
注: 規律一定要和函數本身 扯上關系,這樣,也就是函數自身調用自身,滿足出口條件之后,函數循環結束
?
注:斐波那契數列 1,1,2,3,5,8,13,21,34 .....