フィボナッチ数列は、黄金分割数列としても知られ、ウサギの生殖の例を使用して数学者レオナルド フィボナッチによって導入されたため、「ウサギ数列」とも呼ばれます。このような数列を指します。 1、2、3、5、8、13、21、34、... 数学では、フィボナッチ数列は再帰的に定義されます。
プログラミング言語を学習している人にとって、フィボナッチ数列は最も古典的な関数の 1 つです。今日は Python を使用して説明します。この古典的な関数を単純かつ大雑把に実装します。
実装する前に、まずフィボナッチ数列の原理をご紹介します。元の質問はウサギの繁殖問題です。簡単に言うと、後の項は最初の 2 つの項の和に等しいです。 、f(x) =f(x-1) f(x-2)、最初の項は 0 または 1 になります。
以下は一般的に使用される 2 つの方法です。他の人が書いているほど簡潔ではないかもしれませんが、ご容赦ください。
最初: インデックス付けと while ループの組み合わせを使用する非再帰的方法
# ゼロから開始して、フィボナッチ数列の最初の n 項目を出力
# フィボナッチ Naqi 関数を定義する
def fibo(x):
#最初の 2 つの項目を初期化します
m=0
n=1
# リストを使用して保存します
l=[0,1]
# 初期項目を設定します
i=2
# while ループを使用して操作を実行します。原則として、最後の項目は前の 2 つの項目の合計に等しいです
while i
n=m n
# n をリストに追加します
#l.append(n)
# リストの前の項目を m
m = に代入しますインデックスを介して l[i-1]
#自己追加によりループを終了する条件を達成
i=i 1
#リストを出力
print(l)
#関数を呼び出します
fibo(10)
2 番目: 再帰的実装、これは古典的なモデルです
# ゼロから開始して、n 番目のフィボナッチ数列を出力します
def fibo(x): if x==1: return 0 elif x==2: return 1 elif x>2: return fibo(x-1)+fibo(x-2) else: print("输入错误,请重新输入!")
推奨チュートリアル:「Python チュートリアル 」
以上がPython関数を使ってフィボナッチ数列を書くの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。