🔧Toolify

フィボナッチ数列計算機 — 第N項・数列を表示

位置Nを入力すると、その位置のフィボナッチ数を正確に求められます。数列モードに切り替えれば最初のN個をまとめて表示。JavaScriptのBigIntを使用しているため、100項目(354,224,848,179,261,915,075)まで誤差なく計算できます。

上にNを入力すると計算結果が表示されます。

仕組み

フィボナッチ数列とは:定義と歴史

フィボナッチ数列は、「最初の2項は0と1であり、それ以降の各項は直前の2項の和である」というシンプルなルールで定義されます。この規則から0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144…という無限数列が生まれます。ルールは単純ですが、数学・コンピュータサイエンス・自然界の随所に顔を出す不思議な数列です。

数列の名前は13世紀イタリアの数学者レオナルド・ダ・ピサ(フィボナッチ)に由来します。彼は1202年の著書『算盤の書(リーベル・アバチ)』でウサギの増殖モデルとしてこの数列を紹介しましたが、実は古代インドの詩律学者ヴィラハンカやヘマチャンドラが数世紀前に発見していたことが現代では知られています。フィボナッチ数列は人類最古の整数列のひとつです。

連続するフィボナッチ数の比(F(N+1)÷F(N))はNが大きくなるにつれて黄金比φ≈1.61803…に収束します。この性質が、ひまわりの種の配置やオウムガイの螺旋などの自然界のパターンに数列が現れる根本的な理由です。植物は成長するにつれて黄金角(約137.5°)ごとに新しい器官を追加するため、フィボナッチ数に対応した螺旋配置が生まれます。

大きなフィボナッチ数を正確に計算する

JavaScriptの標準的な数値型(Number)は64ビット浮動小数点数で、2^53(約900兆)を超える整数を正確に表せません。フィボナッチ数は指数的に増加し、F(79)はすでにこの上限を超えます。本ツールではJavaScriptのBigInt型を使用しているため、メモリが許す限りどんなに大きな整数でも正確に計算できます。

F(100)は354,224,848,179,261,915,075という21桁の数です。比較すると、観測可能な宇宙の原子数の推定値は約10^80で、F(382)≈10^79に相当します。フィボナッチ数はおよそφ^N/√5の速さで増加するため、各項は前の項の約1.618倍になります。

フィボナッチ数の閉じた形の公式(ビネの公式)はφのN乗を使いますが、φが無理数のため大きなNでは浮動小数点誤差が蓄積します。本ツールが使うような逐次加算法は、アルゴリズムとして単純でありながら任意精度で正確な結果を保証します。

フィボナッチ数の応用例

コンピュータサイエンスでは、ユークリッドの互除法(GCD計算)の最悪入力が連続するフィボナッチ数であることが証明されています。また、ダイクストラ法の高速実装に使われるフィボナッチヒープは、その木構造のサイズ評価式にフィボナッチ数が登場することが名前の由来です。

アジャイル開発のストーリーポイントの見積もりには、1・2・3・5・8・13・21というフィボナッチ数列がよく使われます。隣り合う値の差が広がっていくため、「中くらい」と「大きめ」を明確に区別させる効果があり、不確実性の高いタスクで意図的に曖昧な中間値を避けさせるしくみになっています。日本のスクラムチームでも広く採用されています。

自然界では、ひまわりの種は通常55本と89本の螺旋(どちらもフィボナッチ数)、松ぼっくりは通常8本と13本の螺旋を持ちます。パイナップルの鱗片も同様です。これは植物が黄金角(≈137.5°)刻みで新しい器官を追加することで生まれるパターンで、空間を最も効率よく使うための自然の最適化結果です。

よくある質問

F(0)は0ですか、それとも1ですか?

現代の一般的な定義(このツールでも採用)では F(0)=0, F(1)=1, F(2)=1, F(3)=2… です。古い文献ではF(1)=1, F(2)=1 から始める表記もあり、その場合すべての添字が1つずれます。

なぜ上限がN=100なのですか?

F(100)はすでに21桁の数です。それ以上は実用上の場面が限られるため上限を設けています。より大きな値が必要な場合も、このツールと同じBigIntによる逐次加算で計算できます。

大きなNでも結果は正確ですか?

はい。JavaScriptのBigIntを使用しているため浮動小数点誤差がなく、F(1)からF(100)まですべて数学的に正確な結果を返します。

黄金比とフィボナッチ数列はどう関係していますか?

黄金比φ≈1.61803…はx²=x+1の正の解です。連続するフィボナッチ数の比F(N+1)/F(N)はNが大きくなるにつれてφに収束します。F(20)/F(19)=6765/4181≈1.61803で、すでに小数5桁の精度を持ちます。

ルーカス数列はフィボナッチ数列と同じですか?

漸化式は同じ(各項=前2項の和)ですが、初期値が異なります。ルーカス数列はL(0)=2, L(1)=1 から始まり 2, 1, 3, 4, 7, 11, 18…となります。フィボナッチ数列と多くの性質を共有し、比もφに収束します。

フィボナッチ数は自然界のどこに現れますか?

ひまわりの種の螺旋(通常55本と89本)、松ぼっくりの螺旋(通常8本と13本)、パイナップルの鱗片(通常8本と13本)などが代表例です。植物が黄金角(≈137.5°)刻みで成長することで生まれる自然の最適配置です。

フィボナッチ数はどれくらい早く増えますか?

指数的に増加し、各項は前の項のおよそ1.618倍です。F(10)=55, F(20)=6765, F(50)=12,586,269,025, F(100)=354,224,848,179,261,915,075 です。

なぜアジャイルのストーリーポイントにフィボナッチ数列が使われるのですか?

隣り合うフィボナッチ数の間隔が広がっていくため、「中ぐらい(5)」か「大きめ(8)」かを明確に選ばせる効果があります。不確実なタスクの見積もりで根拠のない精度を避け、議論を促すための仕掛けです。

広告について
  • NordVPN

    広告

    厳格なノーログポリシーと6000台以上のサーバーで、安全かつ高速なネット接続を提供するVPN。

    詳細を見る
  • エックスサーバー

    広告

    国内シェアNo.1のレンタルサーバー。WordPress高速化・自動バックアップ・無料SSLで個人サイトに最適。

    詳細を見る
  • ConoHa WING

    広告

    国内最速のレンタルサーバー。WordPressサイト構築・独自ドメイン無料・初期費用0円。

    詳細を見る

関連ツール

最終更新:

AIプロンプトも見る →