Python関数を使ってフィボナッチ数列を書く

hzc
リリース: 2020-07-03 15:40:21
オリジナル
20623 人が閲覧しました

フィボナッチ数列は、黄金分割数列としても知られ、ウサギの生殖の例を使用して数学者レオナルド フィボナッチによって導入されたため、「ウサギ数列」とも呼ばれます。このような数列を指します。 1、2、3、5、8、13、21、34、... 数学では、フィボナッチ数列は再帰的に定義されます。

Python関数を使ってフィボナッチ数列を書く

プログラミング言語を学習している人にとって、フィボナッチ数列は最も古典的な関数の 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# m n は n に代入されます
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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート