http://qs1969.pair.com?node_id=84259


in reply to (Efficiency Golf) Triangular numbers

There is no need for the program to run very long. A paper and pencil puzzler will beat your 'running for many hours' program.

I will not post the solution here, but I will provide a link to the program. It's about 80 lines, but more than half of the lines are comments.

Replies are listed 'Best First'.
Re: Re: (Efficiency Golf) Triangular numbers
by blakem (Monsignor) on May 31, 2001 at 11:28 UTC
    I'm familiar with assigning to slices of a hash, and its use in this line:

    @seen {$t, $h, $r, $e} = ();

    was very clever. However, why did you use slices in these lines?

    @seen {$n,} = (); .... @seen {$o,} = ();
    Aren't they equivalent to:
    $seen{$n} = undef; $seen{$o} = undef;
    Or even just:
    @seen {$n} = (); # note the lack of comma after $n .... @seen {$o} = ();
    I guess its that trailing comma that looks odd to me.

    -Blake
    p.s. props on the @HIGH and @LOW generation... very sneaky!

      I used @seen {$n,} = (); and not $seen {$n} = undef; because I used the slice in the other case as well. I wanted to use as much identical syntax as possible, and didn't see a reason to special case adding a single key.

      As for using a trailing comma, all I can say is that using -w is useful. If you use it, you'll see why the comma was used.

      -- Abigail