第3位
xxxxxxxxxx
a[900]; b;c;d=1 ;e=1;f; g;h;O; main(k,
l)char* *l;{g= atoi(* ++l); for(k=
0;k*k< g;b=k ++>>1) ;for(h= 0;h*h<=
g;++h); --h;c=( (h+=g>h *(h+1)) -1)>>1;
while(d <=g){ ++O;for (f=0;f< O&&d<=g
;++f)a[ b<<5|c] =d++,b+= e;for( f=0;f<O
&&d<=g; ++f)a[b <<5|c]= d++,c+= e;e= -e
;}for(c =0;c<h; ++c){ for(b=0 ;b<k;++
b){if(b <k/2)a[ b<<5|c] ^=a[(k -(b+1))
<<5|c]^= a[b<<5 |c]^=a[ (k-(b+1 ))<<5|c]
;printf( a[b<<5|c ]?"%-4d" :" " ,a[b<<5
|c]);} putchar( '\n');}} /*Mike Laman*/
引用元:https://www.ioccc.org/1984/laman/laman.c
審査員・作者による説明:https://www.ioccc.org/1984/laman/hint.html
1から指定された数字までを螺旋状に並べて表示する。
$ gcc -o laman laman.c
$ ./laman 4
2 1
3 4
$ ./laman 9
9 8 7
2 1 6
3 4 5
$ ./laman 50
50 49 48 47 46 45 44 43
26 25 24 23 22 21 42
27 10 9 8 7 20 41
28 11 2 1 6 19 40
29 12 3 4 5 18 39
30 13 14 15 16 17 38
31 32 33 34 35 36 37
5本の柱のような形状になっている。形状に特に深い意味はないと思うが、プログラムをアスキーアート化する先駆け。
コードの最後に作者名が書かれているが、現代では作者の情報をプログラムに埋め込むことは反則となっている。