おもしろ数学

4・9がないホテルは全部で何部屋?

ゆーきち
ゆーきち
こんにちは、ゆーきちです!

今回は、ホテルの部屋数に関するトリビアをご紹介したいと思います。

4と9がないホテル

ホテルの鍵

みなさんはホテルに泊まったとき、あるいは病院に行ったとき、部屋番号やフロアを見て「4」や「9」が飛ばされてるな~と感じたことはありますか?

そんなとこ見たこともなかった!という人は、今度気にしてみてください。
すべての宿泊施設・病院がそうではないのですが、決して珍しいことではないのですぐ巡り合えると思います。

4・9を飛ばすのは、いわゆる“不吉な数字”だからですよね。
皆さんご存じだと思いますが。

そんな「4・9が飛ばされたホテル」の部屋数って、数えるの面倒臭そうじゃないですか?

例えば、ホテルの扉に順番に1,2,3,…,50と番号を振った場合、その部屋数は下表に示すとおり、32部屋だとわかります。

部屋番号1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
部屋数123×4567×891011×12131415×16171819×20212223×24252627×28293031×××××××××××32

一の位だけでなく、各桁のいずれかに4または9が入っていた場合、飛ばすものとします。

この「32」という部屋数、簡単に求められないでしょうか?

ゆーきち
ゆーきち
一の位の4・9を飛ばすだけなら簡単そうだけど、すべての位を考慮するとなると複雑そうだなぁ。

――ご安心を。こんな記事を書いているくらいですから、もちろん簡単な方法があります。

ではその方法について紹介していきますね!

部屋番号から部屋数を求める

では、先ほどよりも桁を増やして、このような問題を考えてみます。

ホテルの扉に1,2,3,…,500と(4・9を飛ばしながら)番号を振った場合、その部屋数はいくつでしょう?

この問題を解く上でのキーは、ずばり「8進法」です!

どういうことか、順に解説していきます。

8進法

8進法とは、0~7の数字を用いて数を表す方法で、そのように表した数を8進数と呼びます。
私たちが使う10進法の数と区別するために、8進数は123(8)のように右下に(8)を付けて表します。

8進法の世界では、7(8)の次は10(8)になります。

「7の次は8では?」と思ったあなた、それは10進法の世界の話なのです。

10進法では、0~9の数字を用いて数を表します。9の次は、位が上がって10です。

これと同じことが8進法にも起こっているのです。次の画像をご覧ください。

8進数と10進数

10進法では、小さい方から「一の位」「十の位」「百の位」…と続きますよね。
実は8進法では、「1の位」の上は「8の位」となります。
そして、その上は「82の位」「83の位」…と続きます。

また、10進法における47302は、4×104+7×103+3×102+0×101+2×100というルールに従って表記されています。

ですので同様に、47302(8)は、4×84+7×83+3×82+0×81+2×80ということになります。
そして上の式を計算すると20162となりますから、47302(8)=20162(10)であると分かります。

ここまで見てきたように、10(8)と10(10)は全くの別物です。

それは発音に関しても同様だと、個人的に思います。
つまり、「10(8)」は「ジュウ」と読むのではなく「(8進数の)イチゼロ」と読むのが正しい(というか、誤解が生じなくて良い)のではないかと思います。

とはいえ数学は発音を重視しない学問なので、気にしなくてもいいのですが(笑)

ここで、ホテルの問題に戻ります。

「4・9を飛ばす=0,1,2,3,5,6,7,8の8種類しか使えないホテル」と「0,1,2,3,4,5,6,7の8種類しか使えない8進法の世界」、すごく似ていると思いませんか?

つまり、「4・9がないホテル」の部屋数は、8進法を使うことで求められるのです!

では具体的な方法について、解説します。

解法

ホテルの扉に付けられた数字の各桁は、4・9以外の8種類ですから、8進法のような規則に従って番号が振られていることが分かります。

「8進法のような」と言ったのは、厳密には「8進法ではない」からです。

それは(先ほども少し触れましたが)使われている数字が理由です。

  • 普通の8進数 … 0,1,2,3,4,5,6,7 で表される
  • ホテルの8進数 … 0,1,2,3,5,6,7,8 で表される

47302(8)=4×84+7×83+3×82+0×81+2×80のような計算が成り立つのは、「普通の8進数」を10進数に変換しているからです。

つまり、「4・9がないホテル」の部屋数を求めるには、以下の対応表にしたがって、ホテルの8進法→普通の8進法に数字を変換しなければなりません。

普通01234567
ホテル01235678

ここで、「ホテルの8進数」を123(8′)のように右下に(8′)を付けて表すことにします。

問題に戻ると、最後の部屋番号「500」は、ホテルの8進数「500(8′)」であり、対応表から「普通の8進数」にすると「400(8)」だと考えることができます。

400(8)は、4×83+0×82+0×81+0×80=256なので、答えは256部屋となります。

10進法とホテルの8進法の対応

部屋番号(ホテルの8進数)と部屋数(10進数)の間に「普通の8進数」を挟まなければならないのが、この問題の難しいところです。

部屋数から部屋番号を求める

では今度は、逆の問題を考えてみましょう。

ホテルの扉に1,2,3,…と(4・9を飛ばしながら)番号を振った場合、500番目の扉に振られた番号はいくつでしょう?

先ほどが「部屋番号→部屋数」であったのに対し、今回は「部屋数→部屋番号」と逆になっています。

ですが、考えることは先ほどと同じです。

解法

500=7×82+6×81+4×80なので、500(10)=764(8)です。

また、対応表から、764(8)=875(8)と変換することができます。

よって、答えは875となります。

まとめ

今回は、「4・9がないホテル」の“部屋番号”と“部屋数”の関係を、8進を使って表してみました。

「4・9が使えない」→「8進法」の発想も結構難しいですが、さらに「2種類の8進数」を対応づけなければならないところが複雑でしたね。

ゆーきち
ゆーきち
今回も最後まで読んでいただき、ありがとうございました!