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);

 

posted @ 2020-08-13 15:45  、一叶孤城  阅读(836)  评论(0编辑  收藏  举报