KM-20情報Ⅰ 対策問題

共通テスト過去問チャレンジ令和7年度 追・再試験

令和7年度追試 第1問 問4 あるラーメン店では、客がタブレット端末を自ら操作してラーメンを注文できるシステムを導入した。この注文システムでは、一つのラーメンを注文する場合、表3で示されたラーメンのスープ・麺の太さ・トッピングのそれぞれを指定する数値の合計が厨房に送られ、厨房ではその数値に基づいてディスプレイに注文が表示される。トッピングは複数種類の具材を指定することが可能であり、一種類の具材は一つしかトッピングできない。また、何も指定しない場合もあり、そのときはトッピングの数値は加算されない。例えば、タブレット端末から3201という数値が送られれば 3000+200+1 と解釈され、厨房のディスプレイに「しお、細麺、玉子」と表示される。 異なる注文のラーメンを識別できるような「のり」と「メンマ」のトッピングの数値の組合せとして最も適当なものを選べ。

KM-20の問題図版
解答・解説を見る

正解: 3

正答

3

問題の整理

このシステムでは「数値の合計」だけが厨房に送られます。トッピングは複数選べるので、どの組合せを選んでも合計値が他の組合せと重複しない数値の割り当てが必要です。合計から組合せを間違いなく復元できるか——これが判定基準です。

解き方

正解 (のり=4、メンマ=8) を確かめる。
玉子=1、コーン=2、のり=4、メンマ=8は、2進法の桁の重み(1・2・4・8)そのものです。この割り当てなら、どの組合せも合計が0〜15の異なる値になります。たとえば合計11なら、11 = 8+2+1 と分解は一通りしかなく、「メンマ+コーン+玉子」と確定します。合計を2進法に直せば、1が立っている桁がそのまま「選ばれた具材」になるのです。

誤答がだめな理由を具体例で確かめる。

  • のり=3の場合: 「玉子(1)+コーン(2)=3」と「のり単独=3」が同じ合計になり、区別できません。
  • のり=3、メンマ=6の場合: 上の衝突に加えて「コーン(2)+のり(3)? いや玉子(1)+…」など複数の衝突が起こります(2+4のように6の作り方が複数)。
  • のり=98、メンマ=99の場合: 複数選ぶと合計が2桁を超えます。たとえば98+99=197で、繰り上がりが100の位(麺の太さの情報)を壊してしまい、注文全体が別の意味になってしまいます。

選択肢の確認

1.× 玉子+コーン=3 と のり=3 が同じ合計になり衝突。
2.× 同上に加え、玉子+コーン+のり=6 と メンマ=6 も衝突。
3.○ 1,2,4,8(2のべき乗)なら合計から組合せが一意に決まる。
4.× 複数選ぶと繰り上がりで麺の太さの桁を壊す。

ここだけは覚えよう

「選んだか選ばないか」は2のべき乗(1,2,4,8…)を割り当てる — 合計=2進数のビットとして一意に復元できる。

関連問題

KM-19KM-21