On Sep 22, 3:09 am, Piotr Kobzda <pi...@gazeta.pl> wrote:
> Daniel Pitts wrote:
> > 125 chars:
>
> > enum C{C;{String g="%d ",s=g+0;for(int i=0;i++<27;s+=i
> > %10)System.out.format(i<27?(g+="%2$c")+"\n":s,i,i
> > +64);System.exit(0);}}
>
> Super... I was thinking about %c before, but you did it!
>
> Just one char less:
>
> enum C{C;int i;{String g="%d ",s=g+0;for(;i++<27;s+=i%10)
> System.out.format(i<27?(g+="%2$c")+"\n":s,i,i+64); System.exit(0);}}
>
> 
>
> piotr
Nice. I think I'm satisfied of the compactness of this program.
Unless you consider passing things in from the command line (could be
cheating, but whatever)
73 characters:
enum C{C;{System.out.format(System.getProperty("o"),
10);System.exit(0);}}
Run it as
java "-Do=1 A%1$c2 BB%1$c3 CCC%1$c4 DDDD%1$c5 EEEEE%1$c6 FFFFFF%1$c7
GGGGGGG%1$c8 HHHHHHHH%1$c9 IIIIIIIII%1$c10 JJJJJJJJJJ%1$c11 KKKKKKKKKKK
%1$c12 LLLLLLLLLLLL%1$c13 MMMMMMMMMMMMM%1$c14 NNNNNNNNNNNNNN%1$c15
OOOOOOOOOOOOOOO%1$c16 PPPPPPPPPPPPPPPP%1$c17 QQQQQQQQQQQQQQQQQ%1$c18
RRRRRRRRRRRRRRRRRR%1$c19 SSSSSSSSSSSSSSSSSSS%1$c20 TTTTTTTTTTTTTTTTTTTT
%1$c21 UUUUUUUUUUUUUUUUUUUUU%1$c22 VVVVVVVVVVVVVVVVVVVVVV%1$c23
WWWWWWWWWWWWWWWWWWWWWWW%1$c24 XXXXXXXXXXXXXXXXXXXXXXXX%1$c25
YYYYYYYYYYYYYYYYYYYYYYYYY%1$c26 ZZZZZZZZZZZZZZZZZZZZZZZZZZ%1$c27
012345678901234567890123456%1$c" C
You could also use the environment variables instead, but setting that
depends on the system. It shaves 4 off though (getProperty -
getenv). Also, depending on your system, you could replace all the
%1$c with an actual linefeed, and then you can change "format" to
"print", and remove the ",10" to save an additional 4.
Although, I really don't consider this type of solution as interesting.