in reply to Split range 0 to M into N non-overlapping (roughly equal) ranges.

$M++; my $step = int ($M / $N); my @s = (map($step * $_, 0..$N-1), $M); my @ranges = map [$s[$_ - 1], $s[$_] - 1], 1..$#s;
  • Comment on Re: Split range 0 to M into N non-overlapping (roughly equal) ranges.
  • Download Code