http://www.perlmonks.org?node_id=819539


in reply to Decimal Gray Code in 31 chars

Meybe I'm not seeing something but I get

0132675412131514101198

Replies are listed 'Best First'.
Re^2: Decimal Gray Code in 31 chars
by ikegami (Patriarch) on Jan 25, 2010 at 21:22 UTC
    You might be comparing the output you get from the program with the strings in my node. The strings I posted aren't the output I got, but an indication of the program size.
Re^2: Decimal Gray Code in 31 chars
by Xiong (Hermit) on Jan 26, 2010 at 10:27 UTC

    I also get for:

    perl -E'print$_^$_/2for 0..pop' 15

    Output:

    0132675412131514101198

    But for:

    perl -E'say$_^$_/2for 0..pop' 15

    I get:

    0 1 3 2 6 7 5 4 12 13 15 14 10 11 9 8

    I believe that was mtve's intent. Um, that's 20 chars of actual code.

      Actually my guess is rather perl -le'print$_^$_/2for 0..pop'

Re^2: Decimal Gray Code in 31 chars
by toolic (Bishop) on Jan 25, 2010 at 18:05 UTC
    What do you expect to get? Here's what I get when I run the OP's code:
    perl -e 'print(($_^$_>>1).$/)for(0..pop)' 15 0 1 3 2 6 7 5 4 12 13 15 14 10 11 9 8
    Are you questioning why you have no newlines? That is puzzling. Did you do this undef $/; by any chance?

    Or, are you questioning the sequence of values? Maybe looking at the Gray_code in the binary format makes it more obvious:

    perl -e 'printf("%04b$/",($_^$_>>1))for(0..pop)' 15 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000