MCPで接続 →

計算を入力してください

公式

広告

結果

Sum of all combinations (2n)
1073741824
total over r = 0 to 30 (31 rows)
r nCr(組合せの総数)
0 1
1 30
2 435
3 4060
4 27405
5 142506
6 593775
7 2035800
8 5852925
9 14307150
10 30045015
11 54627300
12 86493225
13 119759850
14 145422675
15 155117520
16 145422675
17 119759850
18 86493225
19 54627300
20 30045015
21 14307150
22 5852925
23 2035800
24 593775
25 142506
26 27405
27 4060
28 435
29 30
30 1

組合せ(表)計算機とは

このツールは、異なる n個のものから r個を選ぶ組合せの総数 \(nCr\)(二項係数)を、r=0 から n まですべての値について一覧表にまとめます。順序を区別せずに選ぶ場合の数を求める計算です。n の値を 1つ入力するだけで、(n+1)行の表と、各行を合計した値(つねに 2 の n乗)が出力されます。多倍長(任意精度)演算を採用しているため、n は最大300まで対応し、\(300C150\)(約89桁)のような天文学的に大きな係数も誤差なく正確に求められます。

使い方

まず、ものの個数 n(0以上の整数、最大300)を入力します。出力される非常に大きな数を短く表示したい場合は、表示精度(有効数字の桁数)を指定してください。これは大きな値の見せ方を変えるだけで、計算そのものの結果には一切影響しません。「計算」を押すと、\(nCr\) の値をすべて並べた表と、全行の合計 \(2^n\) が表示されます。

公式の解説

組合せの公式は $$\binom{n}{r} = \frac{n!}{r!\,(n-r)!}$$ です。階乗どうしの計算では桁が爆発的に大きくなりがちなので、本計算機では \(nC0 = 1\) から始めて \(nCr = nC(r-1) \times (n - r + 1) / r\) という漸化式(掛け算と割り算による方法)で逐次求めています。各ステップを多倍長整数演算で処理するため、つねに正確な値が保たれます。対称性により \(nCr\) は \(nC(n-r)\) と等しく、すべての r についての総和は冪集合の大きさ、すなわち $$\sum_{r=0}^{n} \binom{n}{r} = 2^{n}$$ に一致します。

広告
二項係数の各行を示すパスカルの三角形。各数はすぐ上の2つの数を足して作られる
パスカルの三角形:各 \(nCr\) はすぐ上の2つの値の和です。

計算例(n = 5)

\(5C0 = 1\)、\(5C1 = 5\)、\(5C2 = 10\)、\(5C3 = 10\)、\(5C4 = 5\)、\(5C5 = 1\)。各行の合計は $$1 + 5 + 10 + 10 + 5 + 1 = 32$$ となり、これは \(2^5\) に等しくなります。確認として、$$6C2 = \frac{6!}{2! \times 4!} = \frac{720}{2 \times 24} = 15$$ です。

n=5 の行の二項係数 1, 5, 10, 10, 5, 1 を示す棒グラフ。左右対称の釣鐘型を描く
n = 5 の行(1, 5, 10, 10, 5, 1)は対称で、合計は \(2^5 = 32\) になります。

よくある質問

表の行数が n+1 になるのはなぜ? r は 0 から n まで(両端を含む)の値をとるため、選び方の総数が n+1 通りになるからです。

nC0 とはどういう意味? 「何も選ばない」という選び方です。その方法はちょうど1通りなので \(nC0 = 1\) となり、同様に \(nCn = 1\) です。

有効数字を50桁まで指定できるのはなぜ? 大きな係数は桁数が非常に多くなります。通常の倍精度(double)では約15〜16桁を超えると精度が失われてしまうため、表示精度の指定により、切り捨てなしで正確な値そのものを表示できるようにしています。

最終更新: