クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

場合の数、順列と組合せ

このレッスンのあとで: 積の法則、順列、組合せを使って、選び方の数を求めることができる。

60分のレッスンコマンド3件コンパイラとアーキテクチャのラボ:gcc、flex、bison、RISC-V を1台の VM で

選び方は何通りあるか

場合の数とは、ある出来事が何通りあるかを、もれなく重ならずに数えたものです。パスワードや委員の選び方が何通りあるかが分かると、その安全さや、当たる見込みを考えられます。

数字4桁の暗証番号は、何通りあるでしょうか。1つずつ書き出さなくても、掛け算で求められます。

このレッスンのゴール

メモ

積の法則、順列、組合せを使って、選び方の数を求めることができる。

キーワード

ことばいみれい
場合の数ある出来事の起こり方が、何通りあるか
積の法則選ぶ段階が続くとき、選び方を掛ける決まり
階乗n から 1 まで全部を掛けた数5! = 120
順列順番に意味がある選び方
組合せ順番に意味がない選び方

学生が入力するセルは、このプレビューでは空白です。

選ぶ段階が続くなら掛け算

積の法則は、選ぶ段階が続くとき、各段階の選び方を掛ける決まりです。数字4桁の暗証番号は、各桁に0から9の10通りがあるので、10 × 10 × 10 × 10 = 10000通りです。

前の選び方によって、次の選び方の数が変わらないときに使えます。

例: 定食の組み合わせ

段階選び方の数
主菜(焼き魚、唐揚げ、生姜焼き)3
ごはん(白米、玄米)2
汁物(みそ汁、豚汁、すまし汁、スープ)4
定食の数3 × 2 × 4 = 24
英小文字3字と数字2桁26 × 26 × 26 × 10 × 10 = 1757600

学生が入力するセルは、このプレビューでは空白です。

数字4桁と、小文字3字+数字2桁

コマンド
python3 -c "print(10 ** 4, 26 ** 3 * 10 ** 2)"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

順番に意味があるなら順列

階乗 n! は、n から 1 まで全部を掛けた数です。5! は 5 × 4 × 3 × 2 × 1 で、120です。5人を一列に並べる並べ方の数でもあります。

順列は、順番に意味がある選び方です。8人から1位、2位、3位を選ぶと、8 × 7 × 6 で336通りです。1位に選んだ人は、2位には選べないからです。

階乗と、並べ方の数

nn!計算
111
222 × 1
363 × 2 × 1
4244 × 3 × 2 × 1
51205 × 4 × 3 × 2 × 1
67206 × 5 × 4 × 3 × 2 × 1

学生が入力するセルは、このプレビューでは空白です。

5! と、8人から3人の順列

コマンド
python3 -c "import math; print(math.factorial(5), math.perm(8, 3))"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

for で階乗を求める

コード: python
# 1 から n まで、順に掛けていきます。
n = 5
result = 1
for k in range(1, n + 1):
    result = result * k
print(n, "の階乗は", result)
# n を 6 や 10 に変えて、表と見くらべましょう。

順番を気にしないなら組合せ

組合せは、順番に意味がない選び方です。8人から3人の委員を選ぶとき、田中、鈴木、佐藤の3人は、どの順に選んでも同じ委員会です。

順列の336通りでは、同じ3人が 3! = 6 通りに数えられています。だから 336 ÷ 6 = 56 通りです。

順列から組合せを作る

選び方数
8人から3人を、順番をつけて選ぶ(順列)8 × 7 × 6 = 336
同じ3人の並べ方3! = 6
順番を気にしない(組合せ)336 ÷ 6 = 56
1から43の数字から6個を選ぶ6096454

学生が入力するセルは、このプレビューでは空白です。

56通りと、43個から6個の数

コマンド
python3 -c "import math; print(math.comb(8, 3), math.comb(43, 6))"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

よくある間違い

注意

「順列と組合せは、どちらも同じ式でよい」と考える人が多くいます。順番に意味があるかどうかで決まります。1位、2位、3位を決めるなら順列です。3人の委員を選ぶだけなら組合せで、順列を並べ方の数で割ります。

さらに挑戦

3人でジャンケンをすると、手の出し方は 3 × 3 × 3 = 27通りです。全員が同じ手を出す場合は3通りです。

3人が別々の手を出す場合は何通りでしょうか。順列で考えましょう。あいこになる場合の数を足して、27通りのうちあいこが何通りか求めましょう。

このラボとソースについて: コンパイラとアーキテクチャのラボ:gcc、flex、bison、RISC-V を1台の VM で

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。