http://qs1969.pair.com?node_id=89083


in reply to (Golf) Kaprekar's Process

Here's my take, a non-recursive version, at 66 characters:
sub a { $_=shift;do{$_=join'',sort/./g;$i++}while($_=(reverse)-$_)!=495;$i #23456789012345678901234567890123456789012345678901234567890123456 }
Update #1: Ah, by borrowing an idea from MeowChow's solution, I can shave off one character :-)
sub a { $_=shift;do{$_=join'',sort/./g;$_=(reverse)-$_;$i++}until/495/;$i #2345678901234567890123456789012345678901234567890123456789012345 }
Update #2: Changed shift to pop, another 2 characters off. Thanks srawls!
sub a { $_=pop;do{$_=join'',sort/./g;$_=(reverse)-$_;$i++}until/495/;$i #23456789012345678901234567890123456789012345678901234567890123 }

--ZZamboni

Replies are listed 'Best First'.
Re: Re: (Golf) Kaprekar's Process
by srawls (Friar) on Jun 16, 2001 at 23:26 UTC
    ZZamboni: pop is shorter than shift; you can take two chars off of that.

    The 15 year old, freshman programmer,
    Stephen Rawls