Beefy Boxes and Bandwidth Generously Provided by pair Networks Cowboy Neal with Hat
"be consistent"
 
PerlMonks  

Re: Re: Re: Re: Re: (Golf) Kaprekar's Process

by srawls (Friar)
on Jun 18, 2001 at 01:19 UTC ( [id://89212]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


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

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

Replies are listed 'Best First'.
Nope..
by sean (Beadle) on Jun 18, 2001 at 05:01 UTC
    Nope, you can't use pop, unless you use it like this: "@{[pop]}" .. The quotes turn it into a string instead of an integer, so the | does a bitstring or instead of a numeric or. If either of the operands are numeric, you'll get the numeric or:
    perl -we 'print "000"|1' 1
    that doesn't work for us, we need this:
    perl -we 'print "000"|"1"' 100
    --sean

    and yeah, i came up with a handful of slightly different attempts that all came in at 55 too.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://89212]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.