階乗計算機

結果

0から1000までの任意の非負整数を入力すると、n までのすべての正の整数の積である n! が得られます。この計算機は任意精度の演算を用いるため、100!(158桁)や 1000!(2568桁)のような値も切り捨てられることなく正確に返されます。組合せ論の課題、順列の数え上げ、確率の導出、そして再帰が階乗の項に帰着するあらゆる場面で役立ちます。

階乗の計算方法

  1. 1

    n を入力する

    階乗を求めたい非負整数を入力してください。慣例として `0! = 1` です。

  2. 2

    正確な値を得る

    結果は、数百桁になっても完全精度の整数として表示されます。

  3. 3

    桁数を確認する

    非常に大きな値の場合、結果の下に表示される桁数で大きさが一目でわかります。たとえば `1000!` は 2568桁になります。

  4. 4

    計算のためにコピーする

    正確な整数値を、メモ、表計算ソフト、他のツールなどにコピーできます。

階乗の早見表と増加の速さ

階乗は、どんな指数関数よりも速く増加します。以下は、値がどれほど急速に膨れ上がるか、そして IEEE-754 の倍精度がどこで限界に達するかを示す一般的な早見表です。

小さな値

n n!
0 1
1 1
5 120
10 3,628,800
13 6,227,020,800
20 2,432,902,008,176,640,000

オーバーフローの境界

  • 32ビット符号付き整数: 13! でオーバーフローします(最大値は約21億。12! = 479,001,600 が収まる最後の値で、13! = 6,227,020,800 はもう収まりません)。
  • 64ビット符号付き整数: 21! でオーバーフローします(20! が収まる最後の値です)。
  • IEEE-754 倍精度: 22! から不正確になります。170! が表現できる最大の有限な倍精度値です。

スターリングの近似

大きな n に対して、スターリングの公式は便利な閉じた形の近似を与えます。

n! ≈ √(2πn) · (n/e)^n

n = 100 の場合、スターリングの公式は 9.3248 × 10^157 を返し、正確な 100! との差は 0.1% 未満です。正確な整数値が不要で、桁数の程度だけを見積もりたい場合に使ってください。

よくある用途

  • 順列: n 個の異なる要素を順序付きで並べる並べ方の数 = n!
  • 組合せ: C(n, k) = n! / (k! (n - k)!)
  • 確率: 多くの離散分布の分母。
  • 級数: 係数に階乗の項を含むテイラー展開。

特殊なケース

  • 0! = 1 は慣例(空積)によるものです。これは極限ではなく、組合せの公式が一貫性を保つようにするための定義です。
  • 負の整数や非整数には初等的な意味での階乗はありません。ガンマ関数がこの考え方を拡張します。非負整数に対して Γ(n+1) = n! が成り立ちます。

よくある質問

この計算機が受け付ける n は 0 から 1000 までです。最大の入力である 1000! は 2568桁で、瞬時に計算されます。1000を超える値は上限に切り詰められます。

k = 0k = n のときでも nCk = n! / (k!(n-k)!) のような式が正しく成り立つように選ばれた慣例です。また、これは空積の値であり、乗法の単位元でもあります。

このツールは離散的な階乗を対象としています。非整数の引数にはガンマ関数が必要です。多くの科学計算ライブラリは整数に対する Γ(n)Γ(n+1) = n! を提供しており、これにより階乗を実数へ拡張できます。

いいえ。この計算機は入力した数値をデータベースに保存せず、階乗の計算以外には一切使用しません。複数ステップ表示では、結果ステップに表示できるよう値がページリンクに含まれます。

関連ツール

このツールは他の言語でも利用できます