PHP实现斐波那契数列
斐波那契数列是指这样一个数列:
这个数列从第3项开始,每一项都等于前两项之和。
F0 = 0, F1 = 1, Fn = F(n-2) + F(n-1)。代码如下:
1 function fbsRight($n){ #$n代表斐波那契数列的个数; 2 $fibs = array(); #定义空数组以存储斐波那契数列; 3 $fibs[0] = 1; #数组的第一个元素为1; 4 $fibs[1] = 1; #数组的第二个元素为1; 5 #开始循环 6 for($i = 2;$i < $n; $i ++){ 7 $fibs[$i] = $fibs[$i-2] + $fibs[$i-1]; #斐波那契数列从第三项开始的每一项都等于前两项之和 8 } 9 print_r($fibs); #打印数列 10 } 11 fbsRight(10); #输出:Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 3 [4] => 5 [5] => 8 [6] => 13 [7] => 21 [8] => 34 [9] => 55 )
递归版本:
1 function fbsRecursion($n){ 2 if ($n <= 0){ 3 return 0; 4 } 5 if ($n == 1 or $n == 2){ 6 return 1; 7 } 8 return fbsRecursion($n-2) + fbsRecursion($n-1); 9 } 10 echo fbsRecursion(10);