Most functional

最も関数的

受賞者: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には「生命、宇宙、そして万物についての究極の疑問の答え」という元ネタがあり、ハッカーの間で好まれる数字。