[comp.lang.c] Yet Another Palindrome

cogito@cs.vu.nl (Robbert van Renesse) (01/05/87)

Unlike Dan Hoey I don't think that relying on ASCII makes a program non-
portable.  I've used an idea of his to make an ever shorter palindrome.
It consists of two lines, of which the first one is empty.  For mailing
purposes, I've folded the long line.  There IS a newline at the end of
the program (for portability).  It is possible to make the program smaller
by eliminating that newline.  This one is 307 bytes.

--------8<----------------8<----------------8<----------------8<--------

/**/char*p="*/char*p=/*/};)e(stup;43=b*;)041,p(a;)1,q(a;)9,p(a;)2,9+p(a
{)(niam};++s* =--b* =f++*)--n(elihw{;s*rahc)n,s(a;43=][q,503+e=b*,e=f*,
01=]666[e,",e[666]=10,*f=e,*b=e+305,q[]=34;a(s,n)char*s;{while(n--)*++f
= *b--= *s++;}main(){a(p+9,2);a(p,9);a(q,1);a(p,140);*b=34;puts(e);}/*/
=p*rahc/*"=p*rahc/**/
--------8<----------------8<----------------8<----------------8<--------

(By the way, the shortest palindrome that I could come up with, is:

	/**/main(){}/*/}{)(niam/**/

				Robbert van Renesse
				Vrije Universiteit
				Amsterdam