ソフトウェア開発平成13年問01
問 題
500の病室をもつA病院では、病室の番号として001から順に3けたの番号を割り当てている。ただし、どのけたにも4と9の数字を使用し
ないことになっている。この病院の125番目の病室の番号はどれか。
ア 150
イ 166
ウ 175
エ 186
解 説
難易度 ★★解答
エ 186
長 池「前回2進数の勉強をしたけど、今日はちょっと応用問題だよ。」
ユウト「これソフトウェア開発技術者試験の問題ですか?
001から順番に書いていこうと思っていたのですけど…」
長 池「すごいね。(笑)
でもその心意気はいいね。
この問題は、基数変換の問題なんだ。」
ユウト「ということは、1つずつ書かなくても解答を求められるっていう
ことですか?」
長 池「そうだよ。ちょっと規則性を見てみようよ。
病室の番号のどのけたにも4と9を使わないんだって。」
ユウト「0から9までの数字を使った場合、10個の数字だけど、
そのうち、4と9を使わないということは、8個の数字しか
使わないことになりますね。」
長 池「ユウト。いいところに気が付いたね。
こういう風に考えてみようよ。
4と9は使わないから。」
0⇒0
1⇒1
2⇒2
3⇒3
4⇒5
5⇒6
6⇒7
7⇒8
8⇒-
9⇒-
ユウト「なるほど。8進数と同じ形になりましたね。」
長 池「そうなんだ。ちょっと変則的だけど、こう考えると簡単だね。
それじゃ、答えを導いてみよう。
10進数で125番目ということは、8進数だと何番目かな?」
ユウト「10進数の125を8進数に直せばいいんですね。
64×1+8×7+1×5
 ̄  ̄  ̄
8進数だと175ですね。
ということは、選択肢のウが正解ですか!」
長 池「ちょっと待って。
早とちりはダメだよ。
ここでは、4と9を使わないという変則的な8進数を
通常の8進数と見立てて数値を求めただろ。」
ユウト「あっ。そうですね。
ということは、変換してあげなきゃいけないわけですね。」
長 池「そうなんだ。
もう1回この表を見てみよう。」
0⇒0
1⇒1
2⇒2
3⇒3
4⇒5
5⇒6
6⇒7
7⇒8
8⇒-
9⇒-
ユウト「分かりました。
175は、1は1のままですね。7は8になって、5は6になりますね。」
長 池「よくできたね。正解は186だね。」