最も関数的
受賞者:Freek Wiedijk
動作・解説にジャンプ »
引用元:https://www.ioccc.org/2014/wiedijk/prog.c
審査員・作者による説明:https://www.ioccc.org/2014/wiedijk/hint.html
42を出力する。
$ gcc -o prog prog.c $ ./prog 42
10の階乗を計算している。 コード形状も、階乗を表す!マーク。
!
明示的なループも明示的な再帰呼び出しも使わずに階乗を計算している。 C言語でYコンビネータを定義し、それによって再帰呼び出しを行っているとのこと。
ちょっとした工夫として、10!の結果(3628800)をそのまま出力するのではなく、3628800秒を日数に変換して出力する。 1日は606024 = 86400秒で、3628800/86400は42なので、その結果が表示されている。 42には「生命、宇宙、そして万物についての究極の疑問の答え」という元ネタがあり、ハッカーの間で好まれる数字。