フィボナッチ数列とは?
フィボナッチ数列とは、直前の2つの数を足し合わせて次の数をつくっていく整数の並びのことです。0と1から始まり、0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55…と続きます。この数列は数学のさまざまな場面はもちろん、巻き貝のらせんやヒマワリの種の配列、黄金比など自然界にもたびたび現れます。この計算機では、任意の番号nに対する1つのフィボナッチ数\(F_n\)を求めることも、開始番号から終了番号までの数列をまとめて生成することもできます。
この計算機の使い方
まず生成のドロップダウンでモードを選びます。1つの数を選んで番号nを入力すると、その値\(F_n\)と漸化式のステップが表示されます。数列を選び、開始nと終了nを入力すると、その範囲(両端を含む)のすべてのフィボナッチ数が一覧で得られます。番号は正でも負でも指定でき、対応範囲は-200から200までです。
計算式の解説
フィボナッチ数を定義する規則は、漸化式 $$F_n = F_{n-1} + F_{n-2}, \quad F_0 = 0, \; F_1 = 1$$ で、初期値は\(F_0 = 0\)、\(F_1 = 1\)です。nが大きい場合でも正確な値を得るため、このツールは浮動小数点を使うビネの公式ではなく、任意精度整数による反復計算を採用しています。ビネの公式はおよそn = 71を超えると精度が失われてしまうためです。負の番号についてはネガフィボナッチの規則 \(F_{-n} = (-1)^{n+1} F_n\) に従い、\(F_{-1} = 1\)、\(F_{-2} = -1\)、\(F_{-3} = 2\)、\(F_{-4} = -3\)…のようになります。
計算例
\(F_{15}\)を求めるには、番号15まで数列を順にたどります:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610。よって $$F_{15} = 610$$ となり、これは\(F_{14} + F_{13} = 377 + 233 = 610\)に一致します。
よくある質問
負の番号にも対応していますか? はい。ネガフィボナッチ拡張を使っており、\(F_{-6} = -8\) のように符号が交互に変わる結果が得られます。
nはどこまで大きくできますか? 対応範囲は-200から200です。\(F_{200}\)は42桁の数で、任意精度整数によって正確に計算されます。
なぜビネの公式を使わないのですか? ビネの閉じた式は表示用には美しいものの、倍精度の丸め誤差によりnが大きいと信頼できなくなります。そのため答えの計算には正確な整数の反復計算を使用しています。