多重階乗とは?
多重階乗は、積を作るときの「飛ばし幅(ステップ)」を変えることで、通常の階乗を一般化したものです。感嘆符を k 個つけて表す k 重階乗は、0以上の整数 n に対して、n から始めて毎回 k ずつ小さくなる項を、項が 1 以上である限り掛け合わせていきます。感嘆符が1個ならおなじみの階乗 \(n!\)、2個なら二重階乗 \(n!!\)、そして3個・4個・5個でそれぞれ三重階乗・四重階乗・五重階乗になります。
この計算機の使い方
まず「Calculate」のドロップダウンから計算したい多重階乗を選びます(これでステップ幅 \(k\) が 1〜5 に設定されます)。次に 0 以上の整数 n を入力すると、正確な答えが表示されます。これらの値は非常に速く大きくなるため、本ツールは任意精度(BigInteger)演算を採用しており、入力が大きくても丸めた近似値ではなく正確な整数を返します。結果パネルには、答えの桁数と、すべての因数を並べた完全な展開式も表示されます。
計算式の解説
ステップ幅を \(k\) とすると、計算式は $$n!^{(k)} = n \times (n - k) \times (n - 2k) \times \cdots$$ となります。これは、n 以下の正の整数のうち、n と k を法として合同(n mod k が等しい)なものすべての積とも言えます。アルゴリズムは単純で、1 から始めて、項 = n, n−k, n−2k, … を、その項が 1 以上である限り順に掛けていくだけです。
具体例
10 の二重階乗(k = 2)を考えると、$$10!! = 10 \times 8 \times 6 \times 4 \times 2 = 3{,}840$$ となります。これは \((10!)!\) とはまったく別物で、\((10!)!\) なら天文学的に大きな数になります。二重階乗はあくまでステップ 2 で計算する1つの積です。
よくある質問
\(n!!\) は \((n!)!\) と同じですか? いいえ、違います。二重階乗はステップ 2 で計算する1つの積であり、階乗を2回適用したものではありません。これはすべての多重階乗に共通する注意点です。
\(0!\) はいくつですか? 空積の約束により、どの多重階乗でも 0 の値は 1 になります。\(0! = 1\) となるのと同じです。
答えがこんなに長くなるのはなぜですか? 階乗やその仲間は指数関数よりも速く増加するため、それほど大きくない入力でも、何百桁・何千桁にもなる数が生じます。本ツールはすべての桁を正確に保持します。