◆広島県 清川 育男さんからの解答。
【問題1】
答え 155号室。
【問題2】
答え 23520号室。
コンピュータに解かせました。
◆静岡県 ヨッシーさんからの解答。
0,1,2,3,4,5,6,7の代わりに、
0,1,2,3,5,6,7,8 を使った、8進数と考えられます。
【問題1】
100(10)は8進数では144(8)なので、
155号室
【問題2】
10000(10)は8進数では23420(8)なので、
23520号室
Windows95 に(たぶん)標準で付いてくる「電卓」は、2進、8進、16進への変換がワンタッチで出来るので、利用させていただきました。
私が海外に出張で来て泊まるとき、台湾ではダブルに1人、中国ではツインに一人、インドネシアでもツインに1人ですが、人によってはスイートに1人という場合もあります。
【コメント】
本当にWindowsの電卓ですぐにできました。
しかし、人によっていろいろな解き方があるものですね。
プログラムがすぐできてしまうのもすごいし、8進法と一目で見破るのもすごいです。
ちなみにこの問題の元は、あの麻布中学校の入試問題です。
数学から遠ざかっている人はとても思いつかないでしょう。
◆大分県の中学校1年生 betch さんからの解答。
【問題1】
100を8進法にすると、
100=64*1+8*4+1*4
つまり 144
4はつかえないので 155号室
【問題2】
10000=4096*2+512*3+64*4+8*2+1*0
つまり 23420
同じく 4はつかえないので 23520号室
この問題は、小学生でも解けると思います。
◆埼玉県の高校生 野猿 さんからの解答。
まず、10の整数乗号室までにいくつ部屋があるかを一般化します
1号室まで…1
10号室まで…(4,9を除く)8
100号室まで…10の場合を10倍して十の位までに4,9を含まない数に絞り
さらに二割は4,9を一の位に含むので
80×0.8=64
1000号室まで…100の場合を10倍して十の位までに4,9を含まない数に絞り
さらに二割は4,9を一の位に含むので
640×0.8=512
どうやら10N号室までに8N部屋ありそうです。
N人がホテルに入った場合、N人を
512人ごとに1000号室分、
64人ごとに100号室分、
8人ごとに10号室分、
1人ごとに1号室分と削ればよいことがわかります。
512で削れなくなったら64、
64で削れなくなったら8、
8で削れなくなったら1。
10進法の8進表記そのものですが、数字は
1,2,3,5(=4),6(=5),7(=6),8(=7),0(=8)の8つとなります。
【問題1】
100は八進表記で144
64で一つ【1】
8で四つ【1,2,3,5】
1で四つ【1,2,3,5】
削れますから、【】内の一番右を読んで
155号室となります
【問題2】
10000は八進表記で23420
4096で二つ【1,2】
512で三つ【1,2,3】
64で四つ【1,2,3,5】
8で二つ【1,2】
1で削らない【0】ですから
23520(号室)