階乗計算機とは?

階乗計算機はn!(nの階乗)——1からnまでのすべての正の整数の積——を計算します。階乗は組み合わせ論、確率論、統計学に欠かせない概念です。このツールは大きな数も瞬時に処理し、掛け算の展開過程をステップごとに表示します。

0から10000までの整数を受け付け、結果に加えて展開式 n × (n-1) × … × 1 と平易な解釈を表示します。たとえば12! は12個の異なる物を一列に並べる並べ方の数です。BigIntで計算するため、10000! のような値でも丸めずに正確な値が返ります。範囲を指定して階乗の一覧表を生成することもでき、結果のコピーや表のダウンロードに対応しています。

使い方

  1. 0〜10000の非負の整数を入力してください。結果はすべて正確で、丸めは行われません。
  2. 階乗の結果と展開された掛け算の式が表示されます。
  3. 結果をコピーするか、指定した範囲の階乗一覧表をダウンロードしてください。

使用するタイミング

  • カード・選手・ファイルなど異なる要素の並べ方が何通りあるか数えるとき。
  • 確率の宿題で二項係数 nCr の分母にあたる階乗を計算するとき。
  • 総当たりで順列を列挙するアルゴリズムの探索空間の大きさを見積もるとき。

結果

12を入力すると479,001,600が得られます。ツールは12 × 11 × 10 × … × 1 = 479,001,600という展開式を表示し、12個のアイテムの順列計算に役立ちます。

よくある質問

計算機はどのくらい大きな数まで扱えますか?
10000までです。BigIntによる多倍長整数演算を使っているため、桁数がいくら大きくなっても結果は正確です。10000! は35660桁の数ですが、それでも一瞬で計算できます。上限を10000にしているのは、数万桁の結果が表示も判読もしづらくなるからであって、精度の制約があるわけではありません。
0! は本当に1ですか?バグではないですか?
正しい値です。空積の慣例で 0! = 1 と定めるからこそ、nCr = n! / (r!·(n-r)!) のような式が r が 0 や n のときでもそのまま使えます。この約束がないと組合せ論の式の多くに特例が必要になります。
小数や負の数の階乗を計算できますか?
このツールではできません。階乗は0以上の整数にしか定義されません。整数以外への自然な拡張はガンマ関数で、Γ(n+1) は整数において n! と一致し、多くの非整数でも値を持ちますが、別の計算機が必要です。
大きな結果の隣に出る 9.33 × 10^157 という行は何ですか?
これは答えそのものではなく、科学表記による手早い概要です。計算ツールは常にまず桁を省略せず全部表示します(100! なら158桁すべて)。結果が16桁以上になると、桁数とあわせて 9.33 × 10^157 というコンパクトな表示を添え、規模をひと目でつかめるようにしています。丸めや置き換えは一切なく、コピーを押せば正確な完全な数値がクリップボードに入ります。
100! を計算する実用的な場面は?
100! はトランプ52枚×2デッキの順列数や、極めて稀な事象の確率見積もり、テイラー級数のような数値計算(各項を急速に小さくするため階乗で割る)などで自然に登場します。

関連ツール