#! perl -w sub H($$){ map int(1e3*$_[0]*$_)/1e3,grep!$^H{$_}++,sort map{$.=$_;map$./$_,1..$_}1..$_[1] } $"=$/;print "@{[H(100,6)]}\n"; __END__ C:\test>194468 100 120 125 133.333 150 166.666 200 250 300 400 500 600 C:\test>