APL/J言語の記事を読んでいて、「2^64はどれほど大きな数か?」というのがありました。
2^64 1.84467e19 2^64x 18446744073709551616
というような拡張数字(xつき整数)の話なのですが、なんで64乗なのかと考えると、チェス番が8x8で64マスなんですね。たしか有名な話で順番に倍の米つぶだか麦つぶを乗せていくと最後には地球を覆ってしまうほどの数になってしまうという話だったような。
地球の表面積は、円周が4万キロメートルからどうすれば計算できるだろうか。
米粒は1ミリとしよう。
NB.表面積は4*pi*r^2、円周は2*pi*r(これが4万キロメートル)だから NB.表面積は4 * pi * (40000 000 000 % (2 * pi) ) ^ 2 NB.パイは1p1 ]rice =: 2^64x 18446744073709551616 ]pi=: 1p1 3.14159 ]x: s=:4 * pi * (40000000000 % (2*pi)) ^ 2 509295817894065078272 rice % s 0.0362201
あれ、おかしいな。0.03ミリの厚さでしか敷き詰められない。
なにか間違っていると思うので、考えてまた書きます。