引用元:https://www.ioccc.org/2013/cable1/cable1.c
審査員・作者による説明:https://www.ioccc.org/2013/cable1/hint.html
動作
アメリカ大統領が共和党か民主党かを判断する。
$ gcc -o cable1 cable1.c
$ ./cable1 obama republican democrat
democrat
$ ./cable1 nixon republican democrat
republican
$ ./cable1 bush republican democrat
republican
$ ./cable1 kennedy republican democrat
democrat
$ ./cable1 lincoln republican democrat
republican
解説
アメリカの大統領が共和党・民主党のどちらかから選ばれるようになったフランクリン・ピアースから、当時のバラク・オバマまでの31人の大統領を適切に分類する。
テーブルを持っているわけではなく、大統領名の最初の4文字をリトルエンディアンのint
型(32ビット)で表現した値を、値 % 4796 % 275
するという魔法の計算によって判定する、一種の完全ハッシュ関数。
この値はブルートフォースで見つけたと思われる。
なお、セオドア・ルーズベルトは”roosevelt”、フランクリン・ルーズベルトは”fdr”と入力せよとのこと。
ワンライナーではあるが、肝は上記の完全ハッシュ関数だけなので十分短い。
86バイトは、[[1987/biggar]]や[[1994/smr]]などのような色物を除けば最小かも。
むしろ、main(int riguing,char**acters)
はの引数名はintringuing characters(面白いキャラクターたち)というように、遊びを入れている。
審査員のコメントはMac/PC診断で遊んでいる。
ちなみに残念ながらtrumpはdemocratと判断された。