組み合わせ・順列計算機(nCr nPr)
確率や組合せ数学の問題に使う組み合わせ(nCr)と順列(nPr)を計算
項目の総数(n)と選ぶ項目数(r)を入力すると、組み合わせ数と順列数を計算できます。このツールは、確率問題や組合せ数学の解決に役立ちます。
組み合わせ・順列計算機(nCr nPr)
確率や組合せ数学の問題に使う組み合わせ(nCr)と順列(nPr)を計算
組み合わせ・順列計算機について
組み合わせと順列は、数え上げ、並べ方、選び方を扱う数学分野である組合せ数学の最も基本的な概念です。両者の違いを理解することは、確率論、統計学、コンピューターサイエンス、日常の意思決定におけるさまざまな問題を解くうえで欠かせません。
組み合わせ(C(n, r) または nCr と表記)は、n 個の異なる項目から r 個を選ぶ方法の数を数えます。このとき選ぶ順序は関係ありません。公式は C(n, r) = n! / (r! × (n − r)!) で、n!(n の階乗)は 1 から n までの正の整数すべての積です。たとえば、10 人のグループから 3 人を選んで委員会を作る場合、可能な委員会は C(10, 3) = 120 通りです。誰がどの順番で選ばれたかは関係ないためです。
順列(P(n, r) または nPr と表記)は、n 個の異なる項目から r 個を選び、それらを並べる方法の数を数えます。この場合は順序が重要です。同じ 10 人の例で、会長、副会長、会計を割り当てるなら役職の順序が重要なので、P(10, 3) = 720 通りの割り当てがあります。
重要な違いは順序です。自分に問いかけてください。選んだ 2 つの項目を入れ替えると、意味のある別の結果になりますか?はいなら順列が必要で、いいえなら組み合わせを使います。カードの手札は組み合わせです(A-K-Q は引いた順番に関係なく同じ手札)が、PIN コードは順列です(1-2-3-4 は 4-3-2-1 と異なります)。
組み合わせと順列は、現実の多くの分野で使われます。確率では、特定の結果が起こる可能性を計算するために必要な標本空間の大きさを定義します。たとえば、49 個の数字から 6 個を選ぶ宝くじに当たる確率は、C(49, 6) = 13,983,816 分の 1 です。コンピューターサイエンスでは、アルゴリズムの計算量解析、テストケース生成、ハッシュ関数の設計に使われます。遺伝学では対立遺伝子の組み合わさり方をモデル化します。ビジネスでは、ポートフォリオマネージャーが可能な資産配分を列挙するために利用します。
この計算機は、組み合わせのみ、順列のみ、または両方を同時に計算する 3 つのモードに対応しています。n(全体の数)と r(選ぶ数)を入力し、モードを選択して「結果を計算」をクリックするだけです。n が大きく手計算が現実的でない場合でも、階乗を含む計算を即座に処理します。
例
下の表は、代表的な組み合わせ・順列の問題と解答を示しています。
| 入力 (n, r) | 結果 | 文脈 |
|---|---|---|
| n=52, r=5(組み合わせ) | C(52,5) = 2,598,960 | 標準的なトランプから作る 5 枚のポーカー役 |
| n=10, r=3(順列) | P(10,3) = 720 | 10 人の走者に 1 位、2 位、3 位を割り当てる方法 |
| n=49, r=6(組み合わせ) | C(49,6) = 13,983,816 | 宝くじ:49 個の数字から 6 個を選ぶ |
| n=8, r=3(両方) | C(8,3)=56, P(8,3)=336 | 8 人の候補者から委員会を選ぶ場合と順位付き役職を決める場合 |
組み合わせ・順列計算機の使い方
- 「項目の総数 (n)」欄に、利用できる項目の総数を入力します。n は非負の整数である必要があります。
- 「選択する項目数 (r)」欄に、選びたい項目数を入力します。r は 0 ≤ r ≤ n を満たす必要があります。
- 計算タイプを選びます。順序が関係ない場合は「組み合わせのみ」、順序が重要な場合は「順列のみ」、両方を一度に見たい場合は「組み合わせと順列の両方」を選択します。
- 「結果を計算」をクリックすると、C(n,r) = n!/(r!(n−r)!) と P(n,r) = n!/(n−r)! の公式で答えを即座に計算します。
- 表の下にあるクイック読み込み例ボタンを使うと、実世界のシナリオを事前入力して結果を対話的に確認できます。
よくある質問
組み合わせと順列の違いは何ですか?
組み合わせは順序が重要でない選び方を数え、順列は順序が重要な並べ方を数えます。たとえば、ピザのトッピングを 3 種類選ぶのは組み合わせです(ペパロニ・マッシュルーム・オリーブは、オリーブ・マッシュルーム・ペパロニと同じ)。一方、3 人の選手に金・銀・銅メダルを割り当てるのは順列です(順序が変わると別の結果になります)。
なぜ C(n, 0) = 1、P(n, 0) = 1 なのですか?
数学上の約束として、集合から何も選ばない方法は空の選択の 1 通りだけであり、0 個の項目を並べる方法も空の並びの 1 通りだけです。これは階乗の定義 0! = 1 と一致し、r = 0 の場合でも公式が正しく機能するようにしています。
r は n より大きくできますか?
できません。集合に含まれる数より多くの項目を選んだり並べたりすることはできません。r > n の場合、結果は数学的に未定義(負の階乗による除算)となるため、計算機はエラーを表示します。計算前に r ≤ n であることを確認してください。
C(n, r) と C(n, n−r) の関係は何ですか?
C(n, r) = C(n, n−r) です。r 個を含めるように選ぶことは、n−r 個を除外するように選ぶことと同等だからです。たとえば C(10, 3) = C(10, 7) = 120 です。この対称性は二項係数の補元性と呼ばれ、r が n に近い場合の計算を簡単にします。
この計算機は大きな階乗をどのように扱いますか?
JavaScript の浮動小数点数は約 2^53 までの整数を正確に扱えますが、階乗は非常に速く増加します(20! ≈ 2.4 × 10^18、21! は 64 ビット整数を超えます)。この計算機は、組み合わせについてはオーバーフローを抑えるため反復乗算を使いますが、非常に大きな n(およそ 170 以上)では結果が科学的記数法で表示されることがあります。暗号用途レベルの正確な大整数が必要な場合は、専用の大整数ライブラリを使用してください。
組み合わせと順列は実生活でどこに使われますか?
宝くじの確率計算、カードゲームのオッズ、スポーツのトーナメント分析、DNA 配列解析、パスワード安全性(可能な組み合わせ数の計算)、スケジューリングや経路最適化、統計における実験計画などで使われます。すべての可能性を個別に列挙せずに、項目を選ぶ方法や並べる方法の数を数えたいとき、組み合わせまたは順列が答えを与えます。