こんにちは、おゆかよです。
この記事では、応用情報技術者試験に出題された2進数の問題を、計算ではなく「検証」で解くテクニックをご紹介します。パターンが限られている場合、冷静に確認することで素早く正答にたどりつけます。^^
問題と解答

博士、この問題、最初は数式を展開しようとしてたんだけど…
2桁の2進数 \(x_1x_2\) が表す整数を \(x\) とする。2進数 \(x_2x_1\) が表す整数を、\(x\) の式で表したものはどれか。
※int(r) は非負の実数 r の小数点以下を切り捨てた整数を表す。
ア. \(2x + 4 \cdot \text{int}\left( \frac{x}{2} \right)\)
イ. \(2x + 5 \cdot \text{int}\left( \frac{x}{2} \right)\)
ウ. \(2x – 3 \cdot \text{int}\left( \frac{x}{2} \right)\) ← 正解!
エ. \(2x – 4 \cdot \text{int}\left( \frac{x}{2} \right)\)
出典:応用情報技術者試験 令和5年度秋期試験 午前問題 問1
検証で解ける!

ふむ、しっかり式を使って解くのも良いけど、この問題はもう少しシンプルに考えてもいいかもしれないね。

実は、考えてみたら2桁の2進数って「00」「01」「10」「11」の4通りしかないんだよね。
だから、全部のパターンを確かめればいいのかなって。

その通り。\(x\) の値も 0~3 だけだし、それぞれの逆順の値と式の結果を比べてみれば、正しい選択肢が見えてくるよ。

表にするとこんな感じだね。
\(x\) | 元の2進数 | 逆順の2進数 | \(x’\)(逆順の値) |
---|---|---|---|
0 | 00 | 00 | 0 |
1 | 01 | 10 | 2 |
2 | 10 | 01 | 1 |
3 | 11 | 11 | 3 |

では、それぞれの選択肢に代入して、式の出力と一致するかどうかを確かめればいいね。

やってみたら、「ウ」だけが全て一致したんだ。
他の選択肢はどこかでズレてたから、計算せずに判断できたよ。

冷静にパターン数を見極めて、検証で進めるのは良い判断だね。
試験では時間配分も大切だから、こういう解き方も覚えておくと有効だよ。
まとめ
- 2桁の2進数のパターンは4通りしかない(00~11)
- 各選択肢の式に \(x = 0~3\) を代入して、逆順の値と一致するかを確認すれば、正解をすぐに見つけられる
- 理解も大切だが、本番では確実かつ速く正解を導ける方法を選ぶのが有効
コメント