Log of ROYGB

はてなダイアリーが廃止されるので、引っ越しました。

仲間外れの8(2)

家に帰ってから落ち着いて考えてみれば任意の文字列を繰り返す循環小数を考えるのは簡単で、0.abcabc…ならabcを999で割ればいいんだから0123456789を繰り返したければ123456789を9999999999で割ればいいだけだ。
123456789を9倍すると1111111101だから、これを9999999999で割れば僕が彼女に見せられた数になる。123456789を1111111111で割っても同じ結果になる。わかってみれば何ということは無い。式に長い数があれば、計算結果が長くなっても不思議さは出てこない。
1を81で割ると0.012345679…となるというのは単純な式なのはいいけれど、やはり8が抜けているのが気になる。とはいっても0から9がそろった方が面白いというのは単なる表記の問題で、数の本質とは無関係なこと。
いや、もしかしたらそうでもないのかも。
僕はパソコンの電卓を使っていくつか計算してみた。
1111111を7で割ると、123457になる。111111111111111をFで割ると123456789ABCDFになった。なるほどなるほど、そういうことか。
とりあえず電卓にある8進数と16進数では確認できた。10進数ではない世界でも同じ数が並ぶマジックは可能だ。
でも8進数や16進数以外の一般の進数でも成り立つんだろうか。たぶん成り立つのだろうけど、証明はどうすれば。
0.111…を9で割る計算を使うとできるかも。桁ごとに分けて計算し、0.1を9で割ったものに0.01を9で割ったものを足して、というのを続けていく。



こんな感じで小数点以下9位まで計算して足していくと0.012345678999…となる。これが0.012345679になることは0.999…=1からあきらか。でも、0.012345678999…の表記だと8も抜けずに出てくるのがちょっと感動。
10進数以外の表記でも同じことができる。8進数で1を7で割れば0.111…になるし、16進数で1をFで割れば0.111…になる。それをさらに7なりFで割れば同じことが起きる。

つまりはこういうこと。

n進数で1を(n−1)の自乗で割れば、小数点以下に0,1,2,3,…,(n−3),(n−1)が繰り返してあらわれる。


付け加えておくと、2桁や3桁の場合も考え方としては同じ。2進数を4桁ごとにまとめたものは16進数と同等になるというのはコンピュータ関係ではおなじみだけど、10進数を2桁、3桁ごとにまとめて考えて100進数や1000進数だとすれば、1を9801で割った場合に01、02、03と続き、97の次が98を飛ばして99になることや、998001で割ったときに998が飛ばされることも説明できる。