縁起担ぎ                                   戻る

 当HPがいつもお世話になっているHN「GAI」さんからの出題です。
                                       (令和3年10月11日付け)

 Nホテルでは、部屋が、1から1000までの番号が打ってあるが、縁起を担いで、4と9の数字
がある部屋(どちらか1つでも)は使っていないという。

 さて、このホテルには、実質何部屋の有効部屋数があるか?

 また、その有効部屋数を1000部屋にするには、部屋番号を1からいくつまでの数の通し番
号で処理しておけば良いか?



































(答) らすかるさんが考察されました。(令和3年10月11日付け)

 前半は、0〜7の値を持つ数字が01235678である変則8進数なので、

  1000(8)=512(10)部屋

 後半は、 1000(10)=1750(8) なので、右辺の数字を 01234567→01235678 と置き換え

た1860(10)


 GAI さんからのコメントです。(令和3年10月11日付け)

 プログラムを使ってやっと見つけていたこの2数が、変則8進数(初めて聞いた。)を使って、
こうも効率よく求まるとはビックリです。4と9を同時に除外するのにこんな手があるんですね。


(コメント) らすかるさん、鮮やかですね!


 GAI さんからのコメントです。(令和3年10月12日付け)

 上記の 4、9 の数字を避けて調査する場合に、変則8進法(01234567を01235678へ読み替
える)が有効な手段としてとれることがありましたが、この手法が応用できないものかと試して
いたら、次の様に拡張できそうです。

 1〜100000 までの連続整数の中に素数 {2,3,5,7} の数字を含まないのもが全部で
何個あるか?


の疑問に対しては、

 10個の数 {0,1,2,3,4,5,6,7,8,9} から、上の4個は出現させないのだから、10-4=6進法を利用
すると考える。

 すると、 100000(6)=6^5(10)=7776 なので、全部で、7776個ある。

 また、そんな整数を 100000 個作り出すには、 100000(10)=2050544(6)

 ここで変則6進法として、[012345]->[014689]の数字の読み替えをして、

 2050544->4090988

つまり、 1〜4090988の連続整数を準備しておくと、この中からちょうど100000個の、数字
{2,3,5,7} を全く含まない整数が存在することが起きる。

 以上で解決できる。