最高のワンライナー
受賞者:Mark Plummer
動作・解説にジャンプ »
引用元:https://www.ioccc.org/1993/plummer.c
審査員・作者による説明:https://github.com/ioccc-src/winner/blob/main/1993/plummer.hint
第1引数の値をインクリメントしていき、桁が増えるときは0に戻って、またインクリメントを続けるというループ。第2引数にダミーに値を与える必要がある。
$ gcc -o plummer plummer.c $ ./plummer 50 dummy
とすると、50→51→52→…→98→99→00→01→…→98→99→00→01→…という表示を繰り返す。
$ ./plummer 500 dummy
ならば、500→501→502→…→998→999→000→001→…となる。
atoiなどを使わず多倍長整数的に計算する125バイトのワンライナー。 形が数字っぽいOやlやSなどを変数名に使っている。
atoi
O
l
S
argv[2]がargv[1]の'\0'を挟んだ直後に置かれているという構造を期待している。
argv[2]
argv[1]
'\0'