順列・組み合わせ計算(nPr・nCr・階乗・重複)
n と r を入力すると、階乗 n!・順列 nPr・組み合わせ nCr・重複順列 n^r・重複組合せ nHr を一度に計算します。計算は BigInt で行うため、桁が大きくなっても丸め誤差なく全桁を表示できます。ガチャの当選確率は ガチャ確率計算機、平均や分散は 偏差値・平均・標準偏差計算機 をご利用ください。
🔒 ブラウザ内で完結・入力データはサーバーに送信されません
計算結果
階乗 n!n!
n 個すべてを1列に並べる並べ方
順列 nPrnPr
n 個から r 個を選んで順番も区別して並べる(同じものは選ばない)
組み合わせ nCrnCr
n 個から r 個を選ぶ(順番は区別しない)
重複順列 n^rn^r
n 種類から重複を許して r 個並べる
重複組合せ nHrnHr
n 種類から重複を許して r 個選ぶ(順番は区別しない)
1通りを引く確率の目安
- 特定の並びを1通り当てる確率(1 / nPr)
- 特定の組み合わせを1通り当てる確率(1 / nCr)
注意事項
- n・r は 0〜10000 の整数に対応しています。上限を超えると、計算時間と表示する桁数が大きくなりすぎるため、エラーにしています。
- 順列 nPr と組み合わせ nCr は r ≤ n のときだけ定義されます。r が n を超える場合は、重複を許す n^r と nHr のみ表示します。
- 0! は 1、nP0 と nC0 は 1、0^0 は 1 として扱います。n = 0 のとき重複組合せ 0Hr は、r = 0 なら 1、r が 1 以上なら 0 です。
- 全桁表示の値は数万桁になることがあります。コピーボタンで全桁をそのままコピーできます。科学的記法は有効数字6桁までの切り捨て表示です。
- 確率の目安は「すべての並び・組み合わせが同じ確からしさで出る」前提の値です。抽選に重みがある場合は当てはまりません。
用語解説
順列(nPr)と組み合わせ(nCr)
順列は「選んだ順番も区別する」数え方、組み合わせは「順番を区別しない」数え方です。nCr = nPr ÷ r! の関係があり、たとえば 5 人から 2 人を選ぶ場合、順番を区別すれば 20 通り、区別しなければ 10 通りです。
重複順列・重複組合せ
同じものを何度選んでもよい場合の数え方です。重複順列は n^r、重複組合せは nHr = (n+r−1)Cr で求められます。サイコロを3回振る出目の並びは 6^3 = 216 通り、出目の組み合わせ(順番なし)は 6H3 = 56 通りです。
階乗(n!)
1 から n までのすべての整数を掛けた値です。n 個を1列に並べる並べ方の総数になります。20! で約 2.4×10^18 と、n が小さいうちから急激に大きくなります。
よくある質問
順列と組み合わせはどう使い分けますか?
順番が結果に影響するなら順列(nPr)、影響しないなら組み合わせ(nCr)です。たとえば「1位・2位・3位を決める」は順列、「3人のメンバーを選ぶ」は組み合わせです。nCr = nPr ÷ r! の関係があります。
r が n より大きいとき nPr と nCr が表示されないのはなぜですか?
重複なしで n 個から r 個を選べないため、nPr と nCr は定義されません(0 通り扱い)。同じものを何度でも選べる重複順列 n^r・重複組合せ nHr は r が n より大きくても計算できるので、そちらだけ表示します。
桁が大きい階乗や組み合わせも正確ですか?
BigInt(任意精度の整数)で計算しているため、100! や 10000! でも丸め誤差なく全桁を求められます。電卓や表計算ソフトのように 1.2e+30 などの近似値にはなりません。
n や r に入力できる上限はありますか?
どちらも 0〜10000 の整数です。10000! は約 35660 桁、10000^10000 は 40001 桁になり、これ以上は計算と表示に時間がかかるため上限を設けています。
0! や 0^0 はいくつですか?
組み合わせ論の慣習に従い、0! = 1、0^0 = 1 として計算します。nP0 と nC0 はどちらも 1(「何も選ばない」1通り)です。
このページをシェア
