フィボナッチ数計算ツール
nを入力すると、n番目のフィボナッチ数を正確な整数で表示します。F(100000)も、20,899桁のまま求まります。あわせて、正確な値と照合したビネの公式、連続する項の比が黄金比に収束する様子、選んだ範囲の項の一覧表も確認できます。無料で、登録は不要です。ブラウザ内で動作します。
0から 100,000 までの整数。F(0) = 0、F(1) = 1 です。
結果
354224848179261915075
F(100)
21
桁数
ビネの公式
F(n) = (φⁿ − ψⁿ) ÷ √5。ここで φ = (1 + √5) ÷ 2 ≈ 1.6180339887、ψ = (1 − √5) ÷ 2 ≈ −0.6180339887 です。ψ の絶対値は1より小さいので第2項は消えていき、F(n) は φⁿ ÷ √5 を最も近い整数に丸めたものになります。
φ^100 ≈ 7.920708398E20
ψ^100 ≈ 1.262513338E-21
φ^100 ÷ √5 ≈ 3.542248482E20
(φ^100 − ψ^100) ÷ √5、倍精度の計算で丸めたもの = 354224848179263111168
これは正確な F(100) = 354224848179261915075 と異なります。倍精度は約16桁の有効数字を保持するため、通常の浮動小数点でのビネの公式は n = 70 付近からずれ始めます。ここでの正確な値は、整数の計算で求めています。
連続する項の比
F(n + 1) ÷ F(n) は、n が大きくなるにつれて黄金比 φ に近づき、その前後を交互に振れます。
φ = 1.618033988749894848204586834365…
F(101) ÷ F(100) = 1.618033988749894848204586834365…
これらは、小数点以下の最初の 30 桁まで φ と一致します。
数列
最大 100 項。
| n | F(n) | F(n + 1) ÷ F(n)、小数点以下10桁で切り捨て |
|---|---|---|
| 0 | 0 | — |
| 1 | 1 | 1.0000000000 |
| 2 | 1 | 2.0000000000 |
| 3 | 2 | 1.5000000000 |
| 4 | 3 | 1.6666666666 |
| 5 | 5 | 1.6000000000 |
| 6 | 8 | 1.6250000000 |
| 7 | 13 | 1.6153846153 |
| 8 | 21 | 1.6190476190 |
| 9 | 34 | 1.6176470588 |
| 10 | 55 | 1.6181818181 |
| 11 | 89 | 1.6179775280 |
| 12 | 144 | 1.6180555555 |
| 13 | 233 | 1.6180257510 |
| 14 | 377 | 1.6180371352 |
| 15 | 610 | 1.6180327868 |
| 16 | 987 | 1.6180344478 |
| 17 | 1597 | 1.6180338134 |
| 18 | 2584 | 1.6180340557 |
| 19 | 4181 | 1.6180339631 |
フィボナッチ数計算ツールの使い方
- 1. nを入力します。 0から100000までの任意の整数です。このツールは、F(0) = 0、F(1) = 1、F(2) = 1、F(3) = 2 という番号付けを使います。
- 2. F(n)を読み取ります。 値が桁数とともに表示されます。40桁を超えると、カードには先頭と末尾の数字が表示され、すべての桁をコピーを押すとすべての桁がコピーされます。
- 3. 公式どうしを比べます。 ビネのセクションでは、φⁿ、ψⁿ、そして丸めた結果を正確な項の横に表示するので、浮動小数点の計算がどこで信頼できなくなるかがわかります。比のセクションでは、F(n + 1) ÷ F(n) を小数点以下30桁まで φ と並べて示します。
- 4. 項を一覧にします。 数列で、開始する項と表示する個数(最大100)を選ぶと、F(n) と各比 F(n + 1) ÷ F(n) の表が得られます。
フィボナッチ数列とは
各項は、その前の2項の和です:F(n) = F(n − 1) + F(n − 2)。0、1、1、2、3、5、8、13、21、34、55、89、144 と続きます。ピサのレオナルド(フィボナッチ)は、『算盤の書』(1202年)でこれを使い、ウサギの個体数をモデル化しました。ただし、この数はそれ以前にインドの韻律に関する文献にも現れていました。数列を F(1) = F(2) = 1 から始め、F(0) を省く本もあります。値は同じで、位置の番号だけが異なります。
知っておくと便利な恒等式がいくつかあります。項の和は F(1) + F(2) + … + F(n) = F(n + 2) − 1 です(1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 = 143 = F(12) − 1)。3つおきの項は偶数です。m が n の約数であれば、F(m) は F(n) の約数になります。そして、カッシーニの恒等式は F(n − 1)·F(n + 1) − F(n)² = (−1)ⁿ です。
ビネの公式とその限界
ビネの公式は、F(n) を直接与えます:F(n) = (φⁿ − ψⁿ) ÷ √5。ここで φ = (1 + √5) ÷ 2、ψ = (1 − √5) ÷ 2 です。ψ は約 −0.618 なので、ψⁿ は0に向かって縮み、F(n) は単純に φⁿ ÷ √5 を最も近い整数に丸めたものになります。n = 10 では、φ10 ≈ 122.9919、ψ10 ≈ 0.0081、そして (122.9919 − 0.0081) ÷ 2.2361 = 55 です。
このツールがビネの公式をそのまま使わない理由
一般的な電卓や表計算ソフトは、約16桁の有効数字を保持します。倍精度の浮動小数点数では、ビネの公式は n = 71 で初めて誤り、308061521170130 を返します。正しい F(71) は 308061521170129 です。そこから誤差は拡大していきます。このツールは、整数の厳密な計算(倍加公式 F(2k) = F(k)(2F(k+1) − F(k)) と F(2k+1) = F(k)² + F(k+1)²)で項を求め、ビネの公式は比較用としてのみ示しています。
黄金比
各項を、その前の項で割ると、答えは黄金比 φ = 1.6180339887… に近づいていきます。その周りを、2、1.5、1.667、1.6、1.625、1.615… のように交互に振れながら、各比は前より近づきます。20項目のあと、F(21) ÷ F(20) = 10946 ÷ 6765 は φ と小数点以下7桁まで一致します。F(41) ÷ F(40) は16桁まで、F(101) ÷ F(100) はこのツールが表示する30桁すべてまで一致します。理由はビネの公式と同じです。F(n + 1) ÷ F(n) ≈ φⁿ⁺¹ ÷ φⁿ = φ だからです。
具体例:F(100)
F(100) = 354224848179261915075 (21桁) 公式による桁数:⌊100 × 0.20898764 − 0.34948500⌋ + 1 = 21 F(101) ÷ F(100) = 1.618033988749894848204586834365…
よくある質問
- 100番目のフィボナッチ数はいくつですか?
- F(100) = 354,224,848,179,261,915,075 で、21桁の数です。これは F(0) = 0、F(1) = 1 という番号付けを使っています。資料が 1、1、2、3、… と1から数えている場合でも、その100番目の項は同じく F(100) です。先頭の1を省く資料だけが、位置を1つずらします。
- すべての項を並べずに、n番目のフィボナッチ数を求めるには?
- 小さい n ならビネの公式を使います。正確な結果を得るには倍加法を使います。F(n ÷ 2) と F(n ÷ 2 + 1) から F(n) を、数回の掛け算で組み立てるため、F(100000) でもおよそ17回の倍加で済みます。1項ずつ足し合わせる方法もありますが、n 回のステップが必要です。
- フィボナッチ数列は0から始まりますか、1から始まりますか?
- どちらの番号付けも使われています。数学では通常 F(0) = 0、F(1) = 1 から始め(このツール)、多くの教科書やパズルでは 1、1 から始めます。開始後の項は同じなので、答えを比べる前に、問題がどの番号を意味するか確かめてください。
- フィボナッチ数列と黄金比の関係は?
- 連続する項の比 F(n + 1) ÷ F(n) は、φ = (1 + √5) ÷ 2 ≈ 1.618034 に近づきます。逆に、φⁿ ÷ √5 は F(n) から 0.5 以内にあります。これがビネの公式です。ツールの表には、比が収束していく様子が示されます。
- ビネの公式はなぜ整数を与えるのですか?
- 無理数の部分は正確に打ち消し合います。φⁿ と ψⁿ は互いに共役なので、その差は √5 の倍数になります。ただし浮動小数点の計算では φⁿ が丸められ、およそ n = 71 から丸め誤差が 0.5 を超えて、答えが1以上ずれます。
- F(n)は何桁ですか?
- およそ 0.2090 × n 桁です。正確には、n ≥ 2 について ⌊n·log₁₀φ − log₁₀√5⌋ + 1 桁です。したがって F(1000) は209桁、F(100000) は20,899桁です。
- 同じ規則に従う他の数はありますか?
- はい。任意の2つの初期値と「直前の2つを足す」という規則があれば、フィボナッチ型の数列になります。2と1から始めると、リュカ数 2、1、3、4、7、11、18 になります。こうした数列の比もすべて φ に近づきます。自分で作った数列は、数列ソルバーで試してみてください。