Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
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
Replies are listed 'Best First'.
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 musing on the Monastery: (9)
As of 2015-07-28 10:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (254 votes), past polls