組み合わせ・順列計算

n個からr個を選ぶ方法が何通りあるかを、順序の有無、重複の有無に応じて数えます。

すべてブラウザ内で動作します。アップロード、記録、保存は一切行いません。

何通りか

13983816

使った計算式
C(49, 6) = 49! / (6! × (49 − 6)!)
答えの桁数
8

4つのうちどれが必要かは、2つの問いで決まります。出てくる順序は関係あるか?同じものを2回選べるか?人が間違える組み合わせの問題はどれも、この問いを立てないまま答えてしまったものです。

仕組み

宝くじの抽選は組み合わせです。49個から6個の数字を選び、出てくる順序は何も変えません。表彰台は順列です。1位、2位、3位は、同じ3人でも違う結果になります。4桁の暗証番号は重複順列です。1111が認められるからです。

場合の数はすぐにコンピュータの整数の範囲を超えます(21!でもう超えます)。そのためここでは10進数の文字列で1桁ずつ計算します。おおよその場合の数は何の数でもありませんし、浮動小数点の答えは16桁ほどで、何も告げずに正確さを失います。

組み合わせは、3つの階乗を計算して最後に割るのではなく、掛け算と割り算を交互に行って求めます。途中の結果もすべて整数なので、桁数が答えより大きく膨らむことはありません。

例

ケース 入力 結果
宝くじの抽選:順序は関係ない C(49, 6) 13 983 816
表彰台:順序が重要 P(10, 3) 720
4桁の暗証番号:重複あり 10^4 10 000
どんなマシンの整数よりも大きい C(1000, 500) 300桁の数、正確な値

よくある質問

どれを使えばよいですか?

選んだもののうち2つを入れ替えると違う結果になるかを考えてください。なるなら順列、ならないなら組み合わせです。次に、同じものを2回選べるかを考えます。サイコロを振るなら選べますが、トランプの手札なら選べません。

C(49, 6)が宝くじの券の種類の数になるのはなぜですか?

抽選は49個から重複なしで6個の数字を選ぶもので、引かれる順序で券が変わることはないからです。13,983,816は存在する券の種類の数で、どの1枚が当たる確率もその分の1です。

上限が1000なのはなぜですか?

計算が破綻するからではなく(破綻はしません)、答えが読めなくなるからです。1000!は2,568桁の数です。100,000!なら、誰も求めていない数字が何ページも続くことになります。

ここでは0の0乗は1ですか?

はい。何もないところから何も並べない方法はちょうど1通り(空の並び)であり、組み合わせ論は最初から最後までこの慣習を使っています。

知っておきたいこと

  • 答えはどれだけ桁数が多くてもすべて正確です。ここでは何も丸めず、指数表記にもしません。

数学のすべてのツール