実装方法: 1. 配列を使用して検索します。構文 "for($i=0;$i
このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューター
フィボナッチ数とは
フィボナッチ数列は、黄金分割数列とも呼ばれ、数学者レオナルドダ・フィボナッチがウサギの生殖を例として紹介したことから「ウサギ数列」とも呼ばれています。
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765.......
つまり、最初の 2 つの値は両方とも 1 で、3 桁目から始まり、各桁は現在の桁の前の桁です。2 桁の合計
数学では、フィボナッチ数列は次のように再帰的に定義されます。
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); ?>出力:
## 配列を使用してフィボナッチ数列を見つける方法を理解したところで、再帰を使用してフィボナッチ数列を見つける方法を見てみましょう。
方法 2: 再帰を使用する <?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を使ってフィボナッチ数列を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。