組み合わせ(nCr)計算とは
この計算ツールは、組み合わせの総数を求めます。nCr、C(n, r)、あるいは「nからrを選ぶ」とも表記され、異なるn個のものの中から順序を区別せずにr個を選ぶ選び方の数を意味します。たとえば {A, B} を選ぶことと {B, A} を選ぶことは、同じ1通りの組み合わせとして数えます。これは二項係数とも呼ばれ、組み合わせ論・確率・統計の土台となる重要な概念です。
使い方
全体の個数nと、その中から選ぶ個数rを入力すると、結果が表示されます。nとrはいずれも0以上の整数で、rはnを超えることはできません(このページでは \(n \geq r \geq 0\) の条件を満たす必要があります)。計算には多倍長整数の演算を使っているため、結果が非常に大きな数になっても丸めることなく正確な値が得られます。
公式の解説
もっとも基本的な定義は $$C(n, r) = \frac{n!}{r!\,\left(n - r\right)!}$$ です。ただし、巨大な階乗をそのまま計算するのは効率が悪いため、このツールでは対称性の関係 \(C(n, r) = C(n, n - r)\) を利用した、安定した「掛け算方式」で計算しています。具体的には \(k = \min(r, n - r)\) とおき、初期値を1として、\(i = 1 \sim k\) について \((n - k + i)\) を掛け、\(i\) で割る、という操作を繰り返します。各段階の割り算は必ず割り切れるため、途中の値は常に整数のまま保たれます。
計算例
4枚のカードから2枚を選ぶ組み合わせは何通りあるでしょうか。$$C(4, 2) = \frac{4!}{2! \times 2!} = \frac{24}{4} = 6$$ 6通りです。宝くじの例も見てみましょう。49個の数字から6個を選ぶ場合、\(C(49, 6) = 13{,}983{,}816\) 通りもの異なる組み合わせがあります。これが、ジャックポット(1等)に当たる確率がこれほど低い理由です。
よくある質問
組み合わせと順列の違いは? 組み合わせは順序を区別しませんが、順列は順序を区別して数えます。両者には \(nPr = nCr \times r!\) の関係があるため、同じnとrでは順列の方が必ず大きく(または等しく)なります。
C(n, 0) や C(n, n) はいくつ? どちらも1です。「何も選ばない」選び方は1通りだけ、「すべて選ぶ」選び方も1通りだけだからです。
rがnより大きくてもよい? いいえ。存在する数より多くを選ぶことはできないため、\(r > n\) のとき \(C(n, r) = 0\) になります。この計算ツールでは、その場合を無効として0を返します。