フィボナッチ数 計算ツールとは?
このツールは、任意の正の整数 \(n\) に対して、第n番目のフィボナッチ数(記号で \(F_n\) と表します)を返します。フィボナッチ数列は、数学のなかでも最もよく知られた整数列の一つで、各項が直前の2項の和になっているのが特徴です。初期値を \(F_1 = 1\)、\(F_2 = 1\) とすると、数列は 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 と続き、その後も無限に伸びていきます。フィボナッチ数は、自然界や芸術、コンピューターサイエンス、そして黄金比など、さまざまな場面に登場します。
使い方
入力欄に項番号 \(n\)(1, 2, 3, …)を入力して送信するだけです。ツールが \(F_n\) の厳密値を返します。フィボナッチ数はおおよそ \(\phi^n / \sqrt{5}\) のペースで増えていくため、\(n\) が大きくなるとあっという間に巨大な数になります。そこで本ツールでは浮動小数点ではなく多倍長整数による厳密計算を採用しており、大きな結果でも丸め誤差なしで完全に正確な値が得られます。
計算式の解説
定義となる漸化式は $$F_n = F_{n-1} + F_{n-2}, \qquad F_1 = F_2 = 1$$ で、初期値は \(F_1 = 1\)、\(F_2 = 1\) です。閉じた形(一般項)として、ビネの公式も知られています: $$F_n = \frac{\phi^n - \psi^n}{\sqrt{5}}$$ ここで \(\phi = (1 + \sqrt{5})/2\) は黄金比、\(\psi = (1 - \sqrt{5})/2\) です。この1始まり(\(F_1 = 1\))の流儀では両者は同じ値を与えますが、ビネの公式は \(n\) が大きいと浮動小数点の丸めによって精度が落ちてしまいます。そのため本ツールでは、厳密性を保つために反復計算(漸化式の逐次計算)で答えを求めています。
計算例
\(n = 12\) の場合、数列を順に積み上げていきます:\(F_1=1\), \(F_2=1\), \(F_3=2\), \(F_4=3\), \(F_5=5\), \(F_6=8\), \(F_7=13\), \(F_8=21\), \(F_9=34\), \(F_{10}=55\), \(F_{11}=89\), \(F_{12}=144\)。したがって $$F_{12} = 144$$ です。ビネの公式で確認すると、\(\phi^{12}\) は約 321.9969、\(\psi^{12}\) は約 0.0031 で、 $$\frac{321.9969 - 0.0031}{\sqrt{5}} \approx 144.0$$ となり、結果が裏付けられます。
よくある質問
なぜ \(F_0 = 0\) ではなく \(F_1 = 1\)、\(F_2 = 1\) なのですか? 本ツールは、項番号を1から数える「1始まり」のよく使われる流儀を採用しています。もう一つの「0始まり」の流儀では \(F_0 = 0\)、\(F_1 = 1\) となり、値が単にインデックス1つ分ずれるだけです。
大きな \(n\) でも計算できますか? はい。多倍長整数による厳密計算を用いているため、項番号が大きくても近似値ではなく完全な整数値を返します。
\(n\) に指定できる最小値は? \(n\) は正の整数でなければならないため、最小は \(n = 1\) で、このとき \(F_1 = 1\) となります。