實作方法:1、用陣列來求,語法「for($i=0;$i
本教學操作環境:windows7系統、PHP8版、DELL G3電腦
斐波那契數是什麼
斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765.......
即:前兩個值都為1,從第三位開始,每一位都是當前位前兩位的和
在數學上,斐波那契數列如下被以遞推的方法定義:
F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
F:指目前這個數列
n:指數列的下標
好了,了解了斐波那契數列,下面我們來了解使用PHP實作的方法。
方法1:利用陣列
#觀察上面給出的數列,結合陣列知識,可以分析出:
數組下標為0或1時,當元素的值為1
;
數組下標為2時,元素是a[0] a[1]
;
當陣列下標示為3時,元素是a[1] a[2]
;
.....
當陣列下標示為n時,元素是a[n-2] a [n-1];
可以得到:
a[0]=1
#a[1]=2
#a[n]=a[n-2] a [n-1]
(n>2)
#程式碼實作:
<?php header("Content-type:text/html;charset=utf-8"); function test($num){ $arr=[]; for($i=0;$i<$num;$i++) { if($i==0 || $i==1){ $arr[$i]=1; }else{ $arr[$i]=$arr[$i-1]+$arr[$i-2]; } echo $arr[$i]." "; } } echo "斐波那契数列前10位:"; test(10); echo "<br>斐波那契数列前11位:"; test(11); echo "<br>斐波那契数列前12位:"; test(12); ?>
輸出:
<?php header("Content-type:text/html;charset=utf-8"); function fbnq($n) { if ($n <= 0) { return 0; } if ($n == 1 || $n == 2) { return 1; } return fbnq($n - 1) + fbnq($n - 2); } echo "斐波那契数列第10位:" . fbnq(10); echo "<br>斐波那契数列第11位:" . fbnq(11); echo "<br>斐波那契数列第12位:" . fbnq(12); ?>
以上是怎麼用php實作斐波那契數列的詳細內容。更多資訊請關注PHP中文網其他相關文章!