ホームページ >バックエンド開発 >PHPチュートリアル >PHP でフィボナッチ数列を処理する非再帰的な方法_PHP チュートリアル
実際、この問題を解決するプログラムはオフセット問題です。まずシーケンスを見てください: 1、1、2、3、5、8、13、21、34。シーケンス内の次の数値は前の 2 つの数値の合計、というように続きます。
プログラムによって処理される場合、これは実際には FOR ステートメントです。従来の FOR ステートメントは for($i=1;$i;$count,$i++) で、ここでのオフセットは $i=$i+1 です。これを処理します。シーケンスの場合、オフセットは 1 ではなく、前の番号になります。次に、for を実行すると、1 つの変数は前の数値を記録し、もう 1 つの変数は現在の数値を記録します。オフセットは前の数値です。その後、ループ内で値を再割り当てし、前の数値を自然なループ値として記録してから、次の処理を実行します。次のサイクルオフセット。コードは実際には非常に単純です: