ITパスポート試験 / 平成28年度 春期 ITパスポート試験 / 問98
certification-simodake-work

平成28年度 春期 ITパスポート試験 問98 解説 組合せの数

それぞれが独立に点灯/消灯の操作ができる5個のランプが並んでいる。2個以上のランプが点灯しているパターンは何通りあるか。ここで,全てが点灯しているパターンは1通り,いずれか1個が点灯しているパターンは5通りと数えるものとする。

  1. ア 4
  2. イ 10
  3. ウ 26 ✓ 正答
  4. エ 32

解説

全パターンから除外すべきケースを引く

この問題は、5個のランプがそれぞれ「点灯」と「消灯」の2つの状態をとることに注目します。すべての状態を合計してから、条件に合致しないケース(0個点灯と1個点灯)を差し引くことで答えを導き出します。

計算手順は以下の通りです。

  1. すべてのランプの状態を求める:2^5 = 32 通り
  2. 0個点灯(すべて消灯)のパターン数:1 通り
  3. 1個だけ点灯するパターン数:5 通り(どのランプが点灯するかで5通り)
  4. 2個以上点灯するパターン数:32 - (1 + 5) = 26 通り

状態空間の考え方とビット演算の基礎

ITパスポート試験において、この問題は「二進数」や「情報の単位」の基礎となる考え方を問うものです。1つのランプを1ビットと考えると、5個のランプで表現できる情報の組み合わせは、252^5 通り存在します。これは、0から31までの数値を表現できることと同義です。

このように、ある事象がそれぞれ独立した選択肢(点灯・消灯)を持つ場合、その組み合わせの総数は「選択肢の数」の「個数」乗で求められます。これを数学では「積の法則」と呼びます。今回の問題では、条件に合わないものをあらかじめ「引き算」で除外する「補集合」という考え方を用いることで、効率的に正解を導き出せました。

なぜこの知識が重要なのか

この考え方は、コンピュータが扱うデータ量やネットワークの接続設定を理解する際に必須のスキルです。

例えば、ネットワークのサブネットマスクを計算する際や、アクセス権限(読み取り、書き込み、実行の有無など)を管理する際にも、同じように二進数の組み合わせで状態を定義します。あるシステムで「最低1つ以上の権限が割り当てられているユーザーを抽出したい」といった場合、この問題のように「全ユーザーから、権限が全くないユーザーを除外する」という処理を行うことが、プログラミングやデータベース操作の実務において頻繁に発生します。

「すべての可能性を数える」というアプローチと、「不要なものを引いて最適化する」というアプローチを使い分けることは、ITの設計や論理的思考を養う上で非常に重要なプロセスといえます。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう