順列・組み合わせ計算機

nPr と nCr をすばやく計算 — ブラウザ内で完結、アップロードなし。

C(n, r)
P(n, r)


順列と組み合わせ

組み合わせ C(n, r) — nCr または「n から r を選ぶ」とも書きます — n 個の中から r 個を選ぶ方法の数を、順序を考慮せずに数えます。順列 P(n, r) — nPr とも書きます — 順序付きの並べ方を数え、同じ要素でも異なる順序はすべて別々に数えます。両者の関係は P(n, r) = C(n, r) × r! です。どちらも BigInt 演算を使って正確に計算するため、C(52, 5) = 2,598,960(5枚ポーカーの手札の数)のような大きな入力でも浮動小数点の丸め誤差は生じません。

結果は入力に合わせてリアルタイムで更新されます。r は 0 以上 n 以下、n と r はともに非負の整数でなければなりません。

よくある質問

順列と組み合わせの違いは? 順列では順序が意味を持ち、組み合わせでは持ちません。集合から {A, B} と {B, A} を選ぶのは 1 通りの組み合わせですが、2 通りの順列です。

nCr(n, 0) とは? 1 です。どの集合からも 0 個を選ぶ方法はちょうど 1 通り(何も選ばない)です。

なぜ BigInt を使うのですか? 階乗は非常に速く大きくなります。JavaScript の通常の数値は約 2⁵³ 付近で精度を失うため、nPr(20, 20) = 20! = 2,432,902,008,176,640,000 のような大きな入力では桁が失われます。BigInt はこれを完全に防ぎます。

nCr の実際の例は? 52 枚のデッキから 5 枚を選ぶ場合:C(52, 5) = 2,598,960 通りの手札。順序は関係ありません — 同じ 5 枚が異なる順で配られても同じ手札です。

関連ツール

人気のツール