Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Friday Golf: All 2-digit combinations

by LTjake (Prior)
on Sep 26, 2003 at 13:31 UTC ( [id://294412]=note: print w/replies, xml ) Need Help??


in reply to Friday Golf: All 2-digit combinations

My half-assed try... 67

for('00'..'99'){$a.=$_ unless $x{$_} or $x{reverse $_}++};print $a; #234567890#234567890#234567890#234567890#234567890#234567890#234567 # 1 2 3 4 5 6

Note, it includes '00' which some people are missing...

Update... 59? (similar to hardburn's solution)

for('00'..'99'){$x{$_}++unless $x{reverse()}};print keys%x;

Update 2 ...50?

for$a(0..9){for(0..9){$x.="$a$_"if$_>=$a}}print$x;

Update 3: after a clarification, i guess i've misunderstood the problem. I thought it needed all unique pairs, separately (ie. 00, 01, 02, 03...). My bad.

Update 4: Here's one that actually passes the checker (60)

$_=9;for$a(0..9){for$b($a..9){$_.="$a$b"}s/$a{3}/$a$a/}print

Update... 57!

$_=9;for$a(0..9){for$b($a..9){$_.="$a$b"}s/$a$a/$a/}print

--
"To err is human, but to really foul things up you need a computer." --Paul Ehrlich

Replies are listed 'Best First'.
Re: Re: Friday Golf: All 2-digit combinations
by hardburn (Abbot) on Sep 26, 2003 at 14:30 UTC

    Take out two ';' and the whitespace after the unless and you're down three more strokes:

    for('00'..'99'){$x{$_}++unless$x{reverse()}}print keys%x

    56

    ----
    I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
    -- Schemer

    Note: All code is untested, unless otherwise stated

Re: Re: Friday Golf: All 2-digit combinations
by BrowserUk (Patriarch) on Sep 26, 2003 at 18:58 UTC

    56! {He he}

    $_=9;for$a(0..9){for$b($a..9){$_.=$a.$b}s/$a$a/$a/}print

    Examine what is said, not who speaks.
    "Efficiency is intelligent laziness." -David Dunham
    "When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
    If I understand your problem, I can solve it! Of course, the same can be said for you.

      53.

      for$a(9,0..9){for$b($a..9){$_.=$a.$b}s/$a$a/$a/}print

      --
      "To err is human, but to really foul things up you need a computer." --Paul Ehrlich

        Scratch! Too eager:)


        Examine what is said, not who speaks.
        "Efficiency is intelligent laziness." -David Dunham
        "When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
        If I understand your problem, I can solve it! Of course, the same can be said for you.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (None)
    As of 2024-04-25 00:02 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found