#! perl -slw use strict; our $N //= 2; our $M //= 1e6; die "N < 1 makes no sense.\n\n" if $N < 1; die "M must be equal to N or larger than N.\n\n" if $M < $N; my $size = ( $M + 1 ) / $N; my @ranges; for ( my $i = 0; $i < $M; $i += $size ) { my ( $j, $k ) = ( int $i, int ($i + $size) ); push @ranges, [ $j, $k - 1, $k - $j ]; } ( printf "%2d : from %7d to %7d (%7d)\n", $_, @{ $ranges[ $_ ] } ) for 0 .. $#ranges; __END__