いけむランド

はてダからやってきました

もうひとつの 2038 年問題

エイプリルフールということでくだらないネタを考えてみた。


2038 年問題というエンジニアの間では有名な問題がある。


実は最近、はてな学会でこれよりも深刻な 2038 年問題が発表された。

同様に増殖するエグザイルも横浜市の人口を抜き、北海道の人口を抜き、日本の人口を抜き、世界の豚人口を抜き、中国人口を抜き、そして2038年には世界人口を抜き去る。そしてその時世界はエグザイルと化し、終わる。

なんとそれは近い未来に地球上の全人類が EXILE となってしまうという驚きの内容であった。

以下は同発表の資料から西暦 N 年における EXILE の構成人数を算出するアルゴリズムを実装したプログラムである。

なお、この関数 double exile(int) は今後もシミュレーションなどで世界中の科学者が頻繁に利用すると考えられることから、次期 C 言語標準規格での採用 (#include ) が有望視されている。

#include <math.h>
double exile(int year)
{
  return 7 * pow(2, year - 2008);
}

この関数より発表と同様の結論が得られるかどうかを確認する。
最近はスパコンでなくとも、この程度のシミュレーションならば手元の PC で現実的な時間内に完了することができる。

#include <stdio.h>
int main()
{
  int y;
  for (y = 2008; ; y++) {
    double population = exile(y);
    if (population > 67 * pow(10, 8)) { // 地球上の全人口のおおよそ
      printf("%4d: exile all over the world\n", y);
      break;
    } else {
      printf("%4d: %24.0f\n", y, exile(y));
    }
  }
}
% gcc exile.c
% ./a.out
2008:                        7
2009:                       14
2010:                       28
2011:                       56
2012:                      112
2013:                      224
2014:                      448
2015:                      896
2016:                     1792
2017:                     3584
2018:                     7168
2019:                    14336
2020:                    28672
2021:                    57344
2022:                   114688
2023:                   229376
2024:                   458752
2025:                   917504
2026:                  1835008
2027:                  3670016
2028:                  7340032
2029:                 14680064
2030:                 29360128
2031:                 58720256
2032:                117440512
2033:                234881024
2034:                469762048
2035:                939524096
2036:               1879048192
2037:               3758096384
2038: exile all over the world
%

残念ながら手元のシミュレーションでも人類総 EXILE 化は不可避であるという結果が導かれてしまった...。

というわけでまとめる。

    ,ィィr--  ..__、j
   ル! {       `ヽ,       ∧
  N { l `    ,、   i _|\/ ∨ ∨
  ゝヽ   _,,ィjjハ、   | \
  `ニr‐tミ-rr‐tュ<≧rヘ   > 2038 年以降に UNIX time が原因の誤動作の可能性があるのは
     {___,リ ヽ二´ノ  }ソ ∠ 人類が総 EXILE 化してしまい、どうせみんな使わなくなって
    '、 `,-_-ュ  u /|   ∠  それが特に問題とならないことを予言していたからなんだよ!
      ヽ`┴ ' //l\  |/\∧  /
--─‐ァ'| `ニ--‐'´ /  |`ー ..__   `´
    く__レ1;';';';>、  / __ |  ,=、 ___
   「 ∧ 7;';';'| ヽ/ _,|‐、|」 |L..! {L..l ))
   |  |::.V;';';';'| /.:.|トl`´.! l _,,,l | _,,|  , -,
    ! |:.:.:l;;';';';'|/.:.:.:||=|=; | |   | | .l / 〃 ))
    l |:.:.:.:l;';';'/.:.:.:.:| ! ヽ \!‐=:l/ `:lj  7
    | |:.:.:.:.l;'/.:.:.:.:.:.! ヽ:::\::  ::::|  ::l / 


      _人人人人人人人人人人人人人人_
        >    な なんだってー!!    <
        ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
        _,,.-‐-..,,_       _,,..--v--..,_
    /     `''.v'ν Σ´        `、_,.-'""`´""ヽ
    i'   / ̄""''--i 7   | ,.イi,i,i,、 、,、 Σ          ヽ
.     !ヘ /‐- 、u.   |'     |ノ-、 ' ` `,_` | /i'i^iヘ、 ,、、   |
    |'' !゙ i.oニ'ー'〈ュニ!     iiヽ~oj.`'<_o.7 !'.__ ' ' ``_,,....、 .|
.   ,`| u       ..ゝ!     ‖  .j     (} 'o〉 `''o'ヽ |',`i
_,,..-<:::::\   (二> /      !  _`-っ  / |  7   ̄ u |i'/
. |、 \:::::\ '' /        \ '' /〃.ヽ `''⊃  , 'v>、
 !、\  \. , ̄        γ/| ̄ 〃   \二-‐' //`