Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: (Golf) Kaprekar's Process

by MeowChow (Vicar)
on Jun 16, 2001 at 23:00 UTC ( #89081=note: print w/ replies, xml ) Need Help??


in reply to (Golf) Kaprekar's Process

The answers given thus far all fail on numbers (such as 100 and 211) which generate two-digit numbers in their intermediate results. Here's a good test for this particular golf:

$| = 1; for (100..999) { next if /(.)\1\1/; print "$_ : ", k($_), $/; }
And here's a correct solution at 74 68 63 chars:
sub k { $_=sprintf"%03d",pop;/495/?0:1+k(-($_=join'',sort/./g)+reverse) }
   MeowChow                                   
               s aamecha.s a..a\u$&owag.print


Comment on Re: (Golf) Kaprekar's Process
Select or Download Code
Re: Re: (Golf) Kaprekar's Process
by Anonymous Monk on Jun 17, 2001 at 00:47 UTC
    sub k { $_="000"|"@{[pop]}";/495/?0:1+k(-($_=join('',sort/./g)+reverse) }
    62

    --sean
      Verrrry cool idea... this can actually come down to 56:
      sub k { $_="000"|"@_";/495/?0:1+k(-($_=join'',sort/./g)+reverse) }
      The interesting thing about this is that it's not the same as right-formatting the number via sprintf, since the 0 goes to the back, but it doesn't matter because the digits are reordered anyway.
         MeowChow                                   
                     s aamecha.s a..a\u$&owag.print
        Yeah, i realized the whole @{[pop]} bit wasn't needed about 20 miles from home, figured someone would've already noticed it by the time i got back.. Here's one more:
        sub k { $_=0 x3|"@_";/495/?0:1+k(-($_=join'',sort/./g)+reverse) }
        55

        --sean
          Nope..
          by sean (Beadle) on Jun 18, 2001 at 09:01 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://89081]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (6)
As of 2014-10-23 06:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (124 votes), past polls