編集の要約なし タグ: ビジュアルエディタ |
細 (wikiの記法に慣れるには、サンドボックスなどを使って練習することをおすすめします。) |
||
87行目: | 87行目: | ||
== 関連項目 == |
== 関連項目 == |
||
+ | *[[marxen.c]] |
||
− | *[[marxen.c]][https://googology.fandom.com/ja/wiki/%E5%B7%A8%E5%A4%A7%E6%95%B0%E3%83%99%E3%82%A4%E3%82%AF%E3%82%AA%E3%83%95%E5%A4%A7%E4%BC%9A|巨大数ベイクオフ大会] |
||
+ | *[[巨大数ベイクオフ大会]] |
||
== 外部リンク == |
== 外部リンク == |
||
* [http://djm.cc/bignum-results.txt David MoewsのBignum Bakeoff の結果発表] |
* [http://djm.cc/bignum-results.txt David MoewsのBignum Bakeoff の結果発表] |
2022年1月25日 (火) 03:37時点における版
ローダー数 (Loader's number) は、Ralph Loader が巨大数ベイクオフ大会で作成して優勝したC言語プログラム loader.c によって出力される数字である。巨大数ベイクオフ大会の目的は、512文字以内のC言語プログラムで、最大の数を出力することである。
loader.c は、Thierry Coquand の calculus of constructions を対角化する。その出力は親しみを込めて ローダー数 (Loader's number) と名付けられ、D5(99) で定義される。ここで、 D(k) は calculus of constructions の表現で最初のk個の表現で表記出来るすべてのビット列の合計である。ここで、すべてを2進数に変換することとする。
David Moews は D(99) は 2↑↑30419より大きいとしており、さらに D2(99) は急増加関数の fε0 + ω3(1000000) よりも大きいとしている。これは Marxen.c の出力の上限であるため、 D2(99) はこれよりも大きい。
D5(99) の最終的な出力は、2021年9月現在全く未知であるが、プログラムで書かれている以上計算可能であるため、 ビジービーバー関数 との比較では Σ(n) > D5(99) は小さなn (例えばn=100) でも成り立つ。
このコードは実行することを意図として作られてはいない。もし実行するとすれば、'int' はもちろん、物理的に実現可能なものよりはるかに大きい、計算されたすべての値をオーバーフローすることなく保持できるほどのメモリがあることを前提としている。
コード
#define R { return #define P P ( #define L L ( #define T S (v, y, c, #define C ), #define X x) #define F );} int r, a; P y, X R y - ~y << x; } Z (X R r = x % 2 ? 0 : 1 + Z (x / 2 F L X R x / 2 >> Z (x F #define U = S(4,13,-4, T t) { int f = L t C x = r; R f - 2 ? f > 2 ? f - v ? t - (f > v) * c : y : P f, P T L X C S (v+2, t U y C c, Z (X ))) : A (T L X C T Z (X ) F } A (y, X R L y) - 1 ? 5 << P y, X : S (4, x, 4, Z (r) F #define B (x /= 2) % 2 && ( D (X { int f, d, c = 0, t = 7, u = 14; while (x && D (x - 1 C B 1)) d = L L D (X ) C f = L r C x = L r C c - r || ( L u) || L r) - f || B u = S (4, d, 4, r C t = A (t, d) C f / 2 & B c = P d, c C t U t C u U u) ) C c && B t = P ~u & 2 | B u = 1 << P L c C u) C P L c C t) C c = r C u / 2 & B c = P t, c C u U t C t = 9 ); R a = P P t, P u, P x, c)) C a F } main () R D (D (D (D (D (99)))) F