メインコンテンツへスキップ
CalcMax

フィボナッチ数列計算

範囲:2〜78

計算結果

1, 1, 2, 3, 5, 8, 13, 21, 34, 55

項(F(1)〜F(n))

第n項
55
黄金比の近似値
1.61764706

フィボナッチ数列は2つの1から始まり、それ以降の各項はその前の2項の和です。1、1、2、3、5、8、13、21、34、55と続きます。このページは最初のn項、n番目の項そのもの、そして最後の項とその1つ前の項の比を出します。最後の出力があるおかげで、このページは単なる早見表以上の価値を持ちます。比は最初揺れます。2、1.5、1.6667、1.6と動き、やがて1つの数、1.6180339887…に速く落ち着きます。これが黄金比です。20番目の項までに、比はすでに100万分の1の精度で合っています。定義のどこにもこの数は出てきません。足し算から勝手に現れるのであって、それが現れるのを見るのが面白いところです。このページは1から数えるので、F(1)が1、F(2)が1、F(3)が2、F(10)が55です。世間でよく使われるもう1つの流儀はF(0) = 0とF(1) = 1から始まり、数列の先頭に0が1つ付きます。F(2)以降の値はこのページと同じなので、F(10)はどちらでも55です。違うのは項を順番に数えたときの位置で、このページの6番目の項である8は、その流儀の並びでは7番目になります。どちらも正しいのですが、ページはどちらかを選ばなければならず、数え方を混ぜることがフィボナッチの答えを間違えるいちばんよくある原因です。上限の78項は考え方の限界ではなく算術の限界です。項はF(79)で倍精度が正確に持てる範囲を超えるので、答えが近似になり始める1つ手前でページは止まります。数列そのものにも一言の価値があります。2つの方向から同時にやって来る珍しい例だからです。1つはうさぎの繁殖のパズルです。1組から始め、各組が成熟に1か月かかり、その後は毎月新しい組を生むとすると、月ごとの組数はまさにこの数になります。もう1つは上の定義、つまり最後の2項を足すというもので、この2つが同じであることは明らかではありません。だからこの数列は互いに関係のない場所に現れます。ひまわりの種の渦、松かさの鱗、茎の周りの葉の並びといった自然界の並びはどれもこの数で動いていて、理由はいつも比が収束する先の黄金比です。この数列が自然法則でも設計原理でもないことだけは確かです。それはたまたま最も無理数らしい数に近づく漸化式であり、自然がそれを使うのはその近似が効く場面です。

最初の10項と、各項の1つ前の項に対する比

n項1つ前の項との比
11—
211.00000000
322.00000000
431.50000000
551.66666667
681.60000000
7131.62500000
8211.61538462
9341.61904762
10551.61764706

右の列を上から下へ読むと、ある数が決心していく様子が見えます。1行目はダッシュで、比べる相手がありません。2行目は1、3行目で2まで跳ね上がり、次に1.5へ下がり、1.667、1.6、1.625、1.615、1.619、1.617647と続きます。この揺れが要点です。比は1.618に片側から近づくのではなく、行き過ぎと足りなさを交互に繰り返し、各回の振れ幅はおよそ半分ずつになります。10行目でも誤差はおよそ0.00039あり、小数第3位で食い違っています。真の黄金比は1.6180339887で始まります。1行目が比ではなくダッシュなのは、割る相手がいないからです。1項だけの要求をこのページが断るのも同じ理由です。

公式

F(1) = 1、F(2) = 1、F(n) = F(n − 1) + F(n − 2) ⇒ 1、1、2、3、5、8、13、21、34、55…。隣り合う項の比は黄金比φ = (1 + √5) / 2 = 1.6180339887…に近づく

F(1) = F(2) = 1
2つの出発値で、このページが明示している選択でもあります。1から数えるのでF(1)とF(2)はどちらも1、F(10)は55です。もう1つのよく使われる流儀はF(0) = 0とF(1) = 1から始まり、数列の先頭に0が1つ付きます。F(2)以降の値はこのページと同じですが、項を順番に数えたときの位置が1つずれます。F(6)の8は、その流儀の並びでは7番目です。どちらも間違いではありませんが、数え方を混ぜると食い違います
F(n) = F(n − 1) + F(n − 2)
漸化式で、これが定義のすべてです。各項はその前の2項の和です。1 + 1 = 2、1 + 2 = 3、2 + 3 = 5、3 + 5 = 8。2つの出発値から前に向かって進むので、このページは10項でも1,000項でも同じ手軽さで出せます。解くべき式はなく、足し算を繰り返すだけだからです
n
欲しい項数で、2から78までです。下限が1ではなく2なのは、比の出力が1つの項とその前の項を必要とするからです。1項では割る相手がなく、このページは空欄の比を印字する代わりに断ります。上限は、項がふつうの浮動小数点演算で正確でいられなくなる点です
F(78) = 8944394323791464
このページが到達する最後の項で、そこで止まる理由でもあります。F(79)は14472334024676221で、倍精度が正確に持てる最大の整数9007199254740991を超えるので、そこから先に印字される桁は数列ではなく近似になります。このページは79を断り、ほぼ正しい項を印字しません
F(n) / F(n − 1)
比の出力です。黄金比そのものではなく、このページもそう主張しません。5番目の項では1.6667で、1.618からは遠く離れています。これは速く良くなる推定値です。20番目の項ではすでに、このページが印字する8桁の精度に届いています
φ = 1.6180339887…
黄金比で、これらの比が近づいていく先の数です。x² = x + 1の正の解で、これは同じ漸化式を方程式として書いたものです。偶然ではなく、フィボナッチの比がそこに落ち着く理由です。印字される推定値は最大でも1.61803399で、ページは8桁までしか出さず、真の値はその先へ続きます

項の値を確かめるのが素直な使い方です。パズルが10番目のフィボナッチ数を尋ねたり、教科書の数列が手で足すには先へ行きすぎていたりするとき、このページはその値と、そこへ至る項の並びを返します。比の出力は別の問いに答えます。黄金比がどこから来るのかという問いです。2、1.5、1.6667、1.6、1.625、1.615が1.618へ落ち着いていくのを見るほうが、証明を読むよりずっと短い道で、このページの参考表はまさにその読み方のために並べてあります。3つ目はプログラミングと課題で、漸化式は再帰の最初の例として、数列は再帰的な定義を反復で書くとずっと安い例として標準になっています。このページのループは反復版で、78項がほとんど手間にならないのはそのためです。数は、増え方が自分自身に掛かる見積もりの問題にも現れます。正方形と長方形で帯を敷き詰める場合の数、1段か2段で階段を上る経路の数、毎期に分岐する植物の枝の数は、どれも同じ漸化式に従います。問いが数列ではなく比についてなら、黄金比計算がそれを独立した数としてその性質とともに扱い、問いが増え方の形についてなら、指数関数的増減計算がこの項が階段状に近似しているなめらかな版を扱います。第n項の値だけが要るなら、このページの第n項の出力がその数を単独の行で返します。

計算例

  1. 最初の10項:1、1、2、3、5、8、13、21、34、55

    1. このページが使う2つの出発値、1と1から始める
    2. 1 + 1 = 2、次に1 + 2 = 3、次に2 + 3 = 5、次に3 + 5 = 8
    3. 続けて5 + 8 = 13、8 + 13 = 21、13 + 21 = 34、21 + 34 = 55
    4. 10項なので10番目は55。最後の2項の比は55 ÷ 34 = 1.61764706

    初期値です。10番目の項が55で、55と34の比が1.61764706であることに注目してください。黄金比に近いのですが、小数第3位ではっきり食い違っています。それこそが、この数列をただ調べるのではなく眺める価値のある理由です。収束は速いのですが一瞬ではなく、10項では印字される8桁が1.61803399に届きません。

  2. 最短の実行:2項

    1. 2項はこのページが受け付ける最小の要求
    2. 数列は2つの出発値そのもの、つまり1と1
    3. 2番目の項が1なので、第n項の出力は1
    4. 比は1 ÷ 1 = 1。このページが出す中で黄金比から最も遠い値

    下限で、1ではなく2である理由がここにあります。比の出力は2項なければ存在しません。1項では割る相手がないので、このページは空欄やゼロを印字する代わりに1を断ります。比が1というのはこの収束全体の出発点でもあります。それ以降の比はすべてそこから1歩ずつ離れていき、1から1.618までの道のりを下の表が項ごとに並べています。

  3. 比が落ち着くところ:20項

    1. 10番目から漸化式を続ける。34 + 55 = 89、55 + 89 = 144、以下同様
    2. 20番目の項は6,765、19番目は4,181
    3. 6,765 ÷ 4,181 = 1.61803396317…
    4. このページが印字する8桁に丸めると1.61803396

    20項あれば十分です。真の黄金比は1.6180339887で始まり、ここの推定値は小数第7位まで一致しています。食い違いは8桁目、つまり印字される最後の桁に来ています。10項の場合と比べてください。あちらでは誤差がすでに小数第3位で見えていました。このページが存在する理由がこの点です。漸化式の定義には黄金比がどこにも出てこないのに、足し算だけから、しかも速く、それが現れます。

適用限界

項数は2から78までの整数でなければなりません。1は拒否します。比の出力が2項を必要とするからです。79は拒否します。そこから項が正確でなくなるからです。F(78) = 8944394323791464が倍精度に正確に収まる最後のフィボナッチ数で、F(79)は上限9007199254740991を超えます。このページは近似の項を返す代わりに要求を断ります。ほとんど正しいのに16桁で印字された数は、正しい数とまったく同じに見えるからです。数え方は1始まりで、このページはF(1) = F(2) = 1を使います。もう1つの広く使われる流儀はF(0) = 0とF(1) = 1から始まり、数列の先頭に0が1つ付きます。F(2)以降の値はどちらの流儀でも同じですが、項を順番に数えたときの位置は1つずれます。このページの6番目の項は8で、その流儀の並びの6番目は5です。どちらの流儀も教科書とソフトウェアで使われているので、このページと別の資料を比べて数が1つずれて見えるなら、誤りではなくそれが理由です。比の出力は推定値で8桁まで印字され、有限の項数でちょうど黄金比になることはありません。ただし78項まで来ると、印字される値と黄金比は同じ8桁になります。項そのものは桁区切りなしのコンマ区切りの一覧で印字されるので、10番目の項は55、78番目は8944394323791464と読めます。長い項を読み上げるのは一覧ではなく第n項の出力の仕事です。最後に、参考表は最初の10項で固定されていて入力には追随しません。入力した数に答えるのではなく、比が落ち着いていく様子を見せるためのものです。

よくある質問

数列はF(0)から始まるのか、F(1)からか
このページはF(1)から始まるので、F(1) = 1、F(2) = 1、F(3) = 2、F(10)は55です。もう1つのよく使われる流儀はF(0) = 0とF(1) = 1から始まり、数列の先頭に0が1つ増えます。F(2)以降の値はこのページと同じですが、項を順番に数えたときの位置が1つずれます。並びの6番目の数はこのページでは8、その流儀では5です。教科書でもソフトウェアでもどちらも使われていて、どちらも誤りではありません。ただしこのページと別の資料を比べて値が1つずれて並ぶなら、原因はこれです。フィボナッチの答えが間違ういちばんよくある形です。
比がすぐには落ち着かず動き続けるのはなぜか
それが恒等式ではなく極限だからです。各項は前の2項の和なので、隣り合う項の比はそれ自身の決まった規則で動き、その動きは目標の上下に交互に現れ、各回の振れ幅はおよそ半分になります。下の表がそれを示しています。2、1.5、1.667、1.6、1.625、1.615、1.619と狭まっていきます。10項で近づき、20項でこのページが印字する8桁に届き、有限の項数でちょうど黄金比になることはありません。近づくだけです。
黄金比とは何か、なぜこの数列がそれを生むのか
黄金比は1.6180339887…で、x² = x + 1の正の解です。この方程式はフィボナッチの漸化式を別の形に書いたもので、比がある数に落ち着くならその数はこれを満たさなければなりません。数列がそこへ着地するのはそのためで、収束は偶然でも珍種でもありません。黄金比はまた、分数で近似するのが最も難しい数です。連分数がすべて1になるからで、植物が葉と種の間隔をこれで決めているのは、その性質を利用しています。
78項までしか要求できないのはなぜか
F(79)が、倍精度が正確に持てる最大の整数9007199254740991より大きいからです。F(78)は8944394323791464で正確ですが、F(79)は14472334024676221で、保存されるのはそれに近い値であって等しい値ではありません。このページは近似を印字せずに要求を断ります。16桁で印字された項は正しい項と見分けがつかず、出力から誤りが見えないからです。項数の上限は数学の事実ではなく浮動小数点の事実で、数列そのものは永遠に続きます。
うさぎの問題はどこで関わってくるのか
フィボナッチはこの数列を1つのパズルとして紹介しました。1組のうさぎから始め、各組が成熟に1か月かかり、その後は毎月新しい組を1組生むとして、毎月の初めの組数を数えます。数は1、1、2、3、5、8…となります。先月成熟していた組はすべてそのまま残り、今月の新しい組は1か月前に成熟していた組から生まれるからです。これは漸化式をまったく別の方向からたどり着いたもので、数列が1つの応用だけで定義されているわけではないことが分かります。
前の項をすべて並べずに第n項を計算できるのか
原理的にはできますし、このページの第n項の出力はその数を単独の行で返しますが、近道の式ではなく同じループから作っています。理由は正確さです。ビネの公式という閉じた形があり、黄金比からn番目のフィボナッチ数を直接与えますが、無理数を累乗する形なので、浮動小数点演算ではnが大きくなると真の整数から離れていきます。整数の足し算は正確で、あの式はそうではありません。だからこのページは足し算をします。2つの出発値から前に進むのは、78項がほとんど手間にならない理由でもあります。解くべき式はなく、足し算を76回繰り返すだけです。

参考文献

関連する計算ツール