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


in reply to Golf: overtone calculator


just quickly,

Here's a slightly shorter version that still compiles under strict and warnings. i only have tested it under the single test case above, if it fails others please provide them and i'll try to correct it. Anyway, this weighs in at 66 characters:

sub Harmonics ($$) { #23456789_123456789_123456789_123456789_123456789_123456789_123456789_ for$a(1..pop){$_{sprintf'%.3f',$_[0]*$a/$_}++for 1..$a}sort keys%_ }
jynx

Replies are listed 'Best First'.
Re: Re: Golf: overtone calculator
by Django (Pilgrim) on Sep 01, 2002 at 23:18 UTC

    Impressing inner loop, but your sort will fail with $_[1] > 10, because it sorts lexically.

    ~Django
    "Why don't we ever challenge the spherical earth theory?"


      Does this fix the problem? (at 72 chars):
      sub Harmonics ($$) { #23456789_123456789_123456789_123456789_123456789_123456789_123456789_ +12 for$a(1..pop){$_{sprintf'%.3f',$_[0]*$a/$_}++for 1..$a}sort{$a-$b}keys +%_ }
      jynx
        I'm outta votes right now, but kudos for the $a-$b bit. D'oh..

        Makeshifts last the longest.

        Does this fix the problem?

        Yepp, not only working, but kicking out my sort too!

        ~Django
        "Why don't we ever challenge the spherical earth theory?"