本文へスキップ

平成21年度 春期 ITパスポート試験 問72

この問題の解説と、これまでの解答の記録です。

問72
頻出度★★☆

図1のように二つの正の数値 A1, A2 を読み取り, 二つの数値 B1, B2 を出力するボックスがある。B1 には A2 と同じ数値を出力し, B2 には A1 を A2 で割った余りを出力する。図2のようにこのボックスを2個つないだ場合, A1=15, A2=6 のとき後方のボックスの B1 に出力される数値は幾らか。 図1: 入力 A1, A2 → 「A2→B1」「A1/A2の余り→B2」→ 出力 B1, B2。 図2: 入力 15, 6 → ボックス1 → ボックス2 → 出力 B1, B2。

出典 平成21年度 春期 ITパスポート試験 問72
解説

問 72

  • 不正解ア

    0 は後方ボックスの B2 に出る値である。後方ボックスは A1=6, A2=3 を受け取るので B2=6÷3 の余り=0 となるが、設問が問うているのは後方ボックスの B1 の方であり、出力を取り違えている。

  • イ

    正解 正解は イ (3)。図1 が定めるボックスの規則は二つだけで、「B1 には A2 をそのまま出す」「B2 には A1÷A2 の余りを出す」である。図2 では 15 と 6 が前方ボックスの A1, A2 に入り、前方の B1 が後方の A1 へ、前方の B2 が後方の A2 へつながる。順に追うと、前方ボックスは B1=A2=6、B2=15÷6 の余り=3 を出力する。したがって後方ボックスは A1=6, A2=3 を受け取り、その B1 は規則どおり A2 と同じ値なので 3 となる (ついでに後方の B2 は 6÷3 の余り=0)。この種の問題は図の規則を丸暗記せず、1段目・2段目と表にして機械的に値を書き下すのが確実である。

  • 不正解ウ

    6 は前方ボックスの B1 に出る値 (最初の A2 がそのまま出たもの) であり、それが後方ボックスの A1 として入力される値である。1段目で止めてしまった答えで、後方ボックスの B1 ではない。

  • 不正解エ

    15 は最初に与えた A1 そのものである。ボックスは B1 に A2 を出す規則なので A1 の値がそのまま B1 に現れることはなく、15 は前方ボックスの中で「6 で割った余り」を求めるためだけに使われて消える。

ここがポイント
  • 図で入出力規則が与えられた処理ボックスの問題は、規則を素直に適用して段ごとに値を書き出す。ここでは B1=A2 (A2 をそのまま次へ渡す)、B2=A1÷A2 の余り、という 2 本の規則を 1段目・2段目の順に当てはめるだけで解ける。
  • このボックスを直列につないだ構成は、二つの数を (A1, A2) → (A2, A1÷A2 の余り) と置き換え続けるユークリッドの互除法 (最大公約数を求める手順) そのものである。余りが 0 になったときの割る数が最大公約数で、実際 15 と 6 の最大公約数は 3 になっている。
用語

解答の記録