2012年2月22日水曜日

5 の話

ちょっと寝坊。 昨夜食べ過ぎたので、朝食は珈琲と果物とヨーグルトだけ。 今日は水曜日なのでお弁当作りは休み。 出社してお仕事。 昼食は近所の中華料理屋にて、汁なし担々麺、小籠包、肉団子炒め。 午後は週一回から月一回に変わった全社ミーティングなど。 夕方退社。 夕食はハムエッグ、マカロニサラダ、豚汁、御飯。 デザートにザッハ・トルテと紅茶。 夜は胡瓜とちりめんじゃこの酢の物を作ったり、読書をしたり。

2 月 22 日だからと言うわけでもないが、数字の話。 一昨日の Futility Closet で、次の等式が成り立つことが指摘されていた ("**" の記号はべき乗の意味とする。つまり 5**3 は 5 の 3 乗で 125、など)。 3909511 = 5**3 + 5**9 + 5**0 + 5**9 + 5**5 + 5**1 + 5**1. つまり、各桁の数字を "5" の肩に乗せたべき乗の和に、元の数自身が等しい。 これはどれくらい珍しいのだろうか。 以下のようなプログラムを書いて試してみたところ、 1 億以下にはこの一例しかない (脊髄反射で書いた書き捨てコードなので、中身は批評しないで下さい)。 では、パズル。 この性質を持つ数は他に存在するでしょうか? 存在するならその例を挙げ、存在しないなら理由を説明して下さい。 (ヒント:"5" の代わりに "2" なら、いっそ "1" なら、どうでしょう。)

>>> for i in range(100000000):
...     m = [ int(d) for d in str(i) ]
...     if i == sum([ 5**x for x in m ]):
...         print i
... 
3909511
>>>