Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re2: Friday Golf: All 2-digit combinations

by dragonchild (Archbishop)
on Sep 26, 2003 at 14:39 UTC ( [id://294439]=note: print w/replies, xml ) Need Help??


in reply to Re: Friday Golf: All 2-digit combinations
in thread Friday Golf: All 2-digit combinations

Generating ... 3738553956575859777879990001020304052206230724082509262744284529464748 +49666768698889111213141516173318341935361 Checking ... '00' appears 0 times

Also, you can drop the braces for the if statement and go to 62.

------
We are the carpenters and bricklayers of the Information Age.

The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.

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

    I'm not so sure about your checker:

    $ ./two_digit_combo.pl | perl -ne 'print join " ", sort unpack("A2" x +(length()/2), $_)' 00 01 02 03 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 22 23 24 25 2 +6 27 28 29 33 34 35 36 37 38 39 44 45 46 47 48 49 55 56 57 58 59 66 6 +7 68 69 77 78 79 88 89 99 $ cat two_digit_combo.pl #!/usr/local/bin/perl for('00'..'99'){$h{$_}++if(!($h{$_}||$h{reverse$_}))}print keys%h $

    Clearly, '00' is right at the beginning of the output.

    ----
    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

      When I run that code: for('00'..'99'){$h{$_}++if(!($h{$_}||$h{reverse$_}))}print keys%hI get this: 67330568261704029988180316064455272528015714695907498924003511787948227708461323293936581215473834566637451909which is clearly incorrect. It does not contain 10, 20, 41, 42, 43, 50, 53, 62, 75, 76, 85, 86, 91, 96, 97, and it duplicates 03, 15, 17, 27, 29, 32, 40, 45, 46, 51, 52, 56, 61, 66, 70, 73, 74, 80, 81, 82, 90, 93, 98.

        No, it's just out of order, due to the fact that it's printing psudo-random hash keys. You didn't specify that it has to be in order :)

        Run it through my digit-splitter I posted in another thread and you'll see that all the pairs are there.

        Update: Ahh, I see. I have the same problem that LTjake does :(

        ----
        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

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (7)
As of 2024-04-23 14:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found