« 体力作り日記 | トップページ | [睡眠時間のログ] »

2004年9月24日 (金曜日)

[プロマネのお勉強メモ]昨日の問題の解き方を教えていただきました。

昨日の記事のコメントで、
この↓問題の解き方を教えてもらいました。(^_^)
【問題 7】 500の病室数をもつA病院では、病室の番号として001から順に3けたの番号を割り当てている。 ただし、どのけたにも4と9の数字を使用しないことになっているので、例えば、8番目の病室の番号は010である。 この病院の215番目の病室の番号は何番か。
ア.258
イ.300
ウ.323
エ.328

あなたの答え:
正解:エ

さらにメールも送って下さって、
通常の8進数は
「0,1,2,3,4,5,6,7」
を使いますが、4,9抜かしだと、
「0,1,2,3,5,6,7,8」
を使います。
違うところは4以降。これをあわせるために各桁4以上の時は1を足す。

という補足説明まで頂きました。
おかげさまでバッチリ分かりましたです。(^_^)

そこで、 昨日のプログラム をちょっと手直しして、 こんな風にしてみました。
昨日は、10毎の各値を見てみたのですが、今日は8毎の値を見てみました。

実行結果↓
8番目→10号室
16番目→20号室
24番目→30号室
32番目→50号室
40番目→60号室
48番目→70号室
56番目→80号室
64番目→100号室
72番目→110号室
80番目→120号室
88番目→130号室
96番目→150号室
104番目→160号室
112番目→170号室
120番目→180号室
128番目→200号室
136番目→210号室
144番目→220号室
152番目→230号室
160番目→250号室
168番目→260号室
176番目→270号室
184番目→280号室
192番目→300号室
200番目→310号室
208番目→320号室

4または9の付く番号の数:
8番目(10号室)の時→2 個
16番目(20号室)の時→4 個
24番目(30号室)の時→6 個
32番目(50号室)の時→18 個
40番目(60号室)の時→20 個
48番目(70号室)の時→22 個
56番目(80号室)の時→24 個
64番目(100号室)の時→36 個
72番目(110号室)の時→38 個
80番目(120号室)の時→40 個
88番目(130号室)の時→42 個
96番目(150号室)の時→54 個
104番目(160号室)の時→56 個
112番目(170号室)の時→58 個
120番目(180号室)の時→60 個
128番目(200号室)の時→72 個
136番目(210号室)の時→74 個
144番目(220号室)の時→76 個
152番目(230号室)の時→78 個
160番目(250号室)の時→90 個
168番目(260号室)の時→92 個
176番目(270号室)の時→94 個
184番目(280号室)の時→96 個
192番目(300号室)の時→108 個
200番目(310号室)の時→110 個
208番目(320号室)の時→112 個

最終的な4または9の付く番号の数→113 個
解答:215番目の病室の番号→328番
Completed(0)

確かに、綺麗に8進数の法則が見えてきますね・・・。
う~む、これに気づかないようじゃ、プログラマーとしては失格ですなぁ・・・。_| ̄|○>私

プログラマーなら、問題文の「例えば、8番目の病室の番号は010である。」 を見た瞬間にピンとこないといけません。
あうぅ~、本当にマズイ・・・。
このblogで全国(世界中?)にプログラマーとしてのセンスの無さを晒してしまいまいしたな・・・。(^^;

ちなみに、私は8進数への変換は、次のようにやりました。
215を16で割ると、
215/16=13・・・7
これより、16進数で表すと215=&hD7なので、これを2進数に変換すると、
1101_0111-(3ビットで分割)→011_010_111-
-(8進数に変換)→&o327
一応、なんちゃってプログラマーではあるので、16進数<->2進数の変換は暗算で出来ますです。(^^;
ですので、2進数→8進数変換の方がイメージ的には楽かも?
う~ん、作業量としては同じぐらいかな?
でも、私は、暗算での四則演算が物凄く遅いし、よく間違えるので、割り算の回数が一回減る方が良いかも・・・。(笑)

で、この&o327をこの問題用の変則表記に対応して変換すると、7が8に変わって、答えとして328が出てくるのですね。

解答を教えてくれた人、凄い!
アッパレ!です。
おかげで、ずっと悩んでた問題が解けました。
大感謝です。
本当に、
ありがとうございました。m(_ _)m

|

« 体力作り日記 | トップページ | [睡眠時間のログ] »

Programming」カテゴリの記事

学問・資格」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/16952/1507456

この記事へのトラックバック一覧です: [プロマネのお勉強メモ]昨日の問題の解き方を教えていただきました。:

« 体力作り日記 | トップページ | [睡眠時間のログ] »