<?xml version="1.0" encoding="windows-1252"?>
<node id="89083" title="Re: (Golf) Kaprekar's Process" created="2001-06-16 19:08:32" updated="2005-07-21 01:27:21">
<type id="11">
note</type>
<author id="5999">
ZZamboni</author>
<data>
<field name="doctext">
Here's my take, a non-recursive version, at 66 characters:
&lt;code&gt;
sub a {
$_=shift;do{$_=join'',sort/./g;$i++}while($_=(reverse)-$_)!=495;$i
#23456789012345678901234567890123456789012345678901234567890123456
}
&lt;/code&gt;
&lt;b&gt;Update #1:&lt;/b&gt; Ah, by borrowing an idea from [MeowChow]'s
solution, I can shave off one character :-)
&lt;code&gt;
sub a {
$_=shift;do{$_=join'',sort/./g;$_=(reverse)-$_;$i++}until/495/;$i
#2345678901234567890123456789012345678901234567890123456789012345
}
&lt;/code&gt;
&lt;b&gt;Update #2:&lt;/b&gt; Changed [shift] to [pop], another 2 characters off.
Thanks [srawls]!
&lt;code&gt;
sub a {
$_=pop;do{$_=join'',sort/./g;$_=(reverse)-$_;$i++}until/495/;$i
#23456789012345678901234567890123456789012345678901234567890123
}
&lt;/code&gt;
&lt;p&gt;--&lt;A HREF="/index.pl?node=ZZamboni&amp;lastnode_id=1072"&gt;ZZamboni&lt;/A&gt;

</field>
<field name="root_node">
89075</field>
<field name="parent_node">
89075</field>
</data>
</node>
