Re: one interview question, 17 lines in java, 3 lines in ruby.
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.