平成28年度 春期 ITパスポート試験 問98 解説 組合せの数
それぞれが独立に点灯/消灯の操作ができる5個のランプが並んでいる。2個以上のランプが点灯しているパターンは何通りあるか。ここで,全てが点灯しているパターンは1通り,いずれか1個が点灯しているパターンは5通りと数えるものとする。
- ア 4
- イ 10
- ウ 26 ✓ 正答
- エ 32
解説
全パターンから除外すべきケースを引く
この問題は、5個のランプがそれぞれ「点灯」と「消灯」の2つの状態をとることに注目します。すべての状態を合計してから、条件に合致しないケース(0個点灯と1個点灯)を差し引くことで答えを導き出します。
計算手順は以下の通りです。
- すべてのランプの状態を求める:2^5 = 32 通り
- 0個点灯(すべて消灯)のパターン数:1 通り
- 1個だけ点灯するパターン数:5 通り(どのランプが点灯するかで5通り)
- 2個以上点灯するパターン数:32 - (1 + 5) = 26 通り
状態空間の考え方とビット演算の基礎
ITパスポート試験において、この問題は「二進数」や「情報の単位」の基礎となる考え方を問うものです。1つのランプを1ビットと考えると、5個のランプで表現できる情報の組み合わせは、 通り存在します。これは、0から31までの数値を表現できることと同義です。
このように、ある事象がそれぞれ独立した選択肢(点灯・消灯)を持つ場合、その組み合わせの総数は「選択肢の数」の「個数」乗で求められます。これを数学では「積の法則」と呼びます。今回の問題では、条件に合わないものをあらかじめ「引き算」で除外する「補集合」という考え方を用いることで、効率的に正解を導き出せました。
なぜこの知識が重要なのか
この考え方は、コンピュータが扱うデータ量やネットワークの接続設定を理解する際に必須のスキルです。
例えば、ネットワークのサブネットマスクを計算する際や、アクセス権限(読み取り、書き込み、実行の有無など)を管理する際にも、同じように二進数の組み合わせで状態を定義します。あるシステムで「最低1つ以上の権限が割り当てられているユーザーを抽出したい」といった場合、この問題のように「全ユーザーから、権限が全くないユーザーを除外する」という処理を行うことが、プログラミングやデータベース操作の実務において頻繁に発生します。
「すべての可能性を数える」というアプローチと、「不要なものを引いて最適化する」というアプローチを使い分けることは、ITの設計や論理的思考を養う上で非常に重要なプロセスといえます。