Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re2: Friday Golf: All 2-digit combinations

by dragonchild (Archbishop)
on Sep 26, 2003 at 14:39 UTC ( #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.


Comment on Re2: Friday Golf: All 2-digit combinations
Download Code
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%h
      I get this: 67330568261704029988180316064455272528015714695907498924003511787948227708461323293936581215473834566637451909
      which 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
Node Status?
node history
Node Type: note [id://294439]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (8)
As of 2014-08-23 10:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (173 votes), past polls