Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Re: (Golf) Kaprekar's Process

by Anonymous Monk
on Jun 17, 2001 at 00:47 UTC ( #89100=note: print w/ replies, xml ) Need Help??


in reply to Re: (Golf) Kaprekar's Process
in thread (Golf) Kaprekar's Process

sub k { $_="000"|"@{[pop]}";/495/?0:1+k(-($_=join('',sort/./g)+reverse) }
62

--sean


Comment on Re: Re: (Golf) Kaprekar's Process
Download Code
Re: Re: Re: (Golf) Kaprekar's Process
by MeowChow (Vicar) on Jun 17, 2001 at 01:47 UTC
    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
        Nice ... It took me a sec to notice it was | and not ||. You can shave off a char by replacing "@_" with pop. I tried to save more, but each time I came up with the same # of chars, just a different way to do it. It almost looks obfuscated now : ), but here's a solution at 54:
        sub k { $_=$-x3|pop;!/495/&&1+k(-($_=join$k,sort/./g)+reverse) }

        Update:Nice catch Sean. I tested it, just not against numbers like 100 233. It looks like the am wins then, unless that can be beaten.

        The 15 year old, freshman programmer,
        Stephen Rawls

        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://89100]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (4)
As of 2014-09-20 17:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (160 votes), past polls