HOME > コンピュータ科学基礎

ソフトウェア開発平成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だね。」

この分野の 《問題一覧》

第2種情報処理平成12年春問05

ソフトウェア開発平成13年問01