UnitConv

順列・組合せ計算機

nPr・nCr を厳密に計算し、途中式も表示

選ぶ対象となる全体の個数。

選ぶ個数(0 ≤ r ≤ n)。

順列
5P2
20
順序を区別する(nPr)
組合せ
5C2
10
順序を区別しない(nCr)

計算ステップ

5P2
= 5! ÷ (52)!
= 120 ÷ 6
= 20
5C2
= 5! ÷ (2! × (52)!)
= 120 ÷ (2 × 6)
= 10
5!
120
2!
2
(52)!
6

公式

nPr = n! ÷ (n − r)!
nCr = n! ÷ (r! × (n − r)!)

順列は順序を区別した並べ方の数、組合せは順序を区別しない選び方の数です。同じ階乗を使いますが、組合せは重複する並び順を取り除くために r! で割ります。

順列と組合せとは?

順列と組合せは「数える」ことの中心となる二つの考え方です。順列は、n 個の中から r 個を選んで並べるとき、順序を区別する場合の総数を数えます(競走の1位・2位・3位や、暗号の文字の並び順など)。組合せは、n 個から r 個を選ぶとき、順序を区別しない場合の総数を数えます(委員の選出、トランプの手札、宝くじの番号など)。順序を無視するため、1 つの組合せは r! 通りの順列に対応します。これがちょうど nCr = nPr ÷ r! となる理由です。これらの数は確率・統計・二項定理をはじめ、パスワードの強度から遺伝学まで無数の場面で使われます。

使い方

全体の数 n と、選ぶ数 r(0 ≤ r ≤ n)を入力します。順列(nPr)と組合せ(nCr)の数、計算に使う階乗 n!・r!・(n − r)!、そして代入から答えまでの途中式が即座に表示されます。「重複あり」を開くと、同じものを再利用できる場合の n^r と C(n+r−1, r) も確認できます。大きな n でも結果は厳密です。

公式

順列(順序を区別): nPr = n! ÷ (n − r)!。組合せ(順序を区別しない): nCr = n! ÷ (r! × (n − r)!)。例えば 5P2 = 5! ÷ 3! = 120 ÷ 6 = 20、5C2 = 5! ÷ (2! × 3!) = 120 ÷ 12 = 10 です。重複を許す場合、順列は n^r、組合せは C(n+r−1, r) です。重要な性質として対称性 nCr = nC(n − r) があり、20C10 = 184756、52C5 = 2598960 です。

結果の読み方

nPr は順序を区別した並べ方の総数、nCr は順序を区別しない組の総数を表します。nCr = nPr ÷ r! なので、組合せの数は常に順列以下になります(r が 0 または 1 のときは等しい)。階乗は急増し、20! はすでに 19 桁になるため、大きな入力では厳密な整数とともにコンパクトな指数表記の概算も表示します。エラーが出る場合は、n と r が整数であること、r が n 以下であることを確認してください。

よくある質問

順列と組合せの違いは何ですか?

順列は順序を区別する並べ方(ABC ≠ CBA)、組合せは順序を区別しない選び方(ABC = CBA)です。したがって nPr は常に nCr 以上です。

nPr と nCr はどう計算しますか?

nPr = n! ÷ (n − r)!、nCr = n! ÷ (r! × (n − r)!) を使います。例えば 10P3 = 720、10C3 = 120 です。

なぜ 0! は 1 なのですか?

何も並べない方法はちょうど 1 通りなので、定義により 0! = 1 です。これにより nC0 = 1、nCn = 1 などの恒等式が一貫します。

非常に大きな数も扱えますか?

はい。多倍長整数を使うため、20! を超える階乗や組合せの数も厳密に計算し、読みやすいように指数表記の概算も併記します。