一定范围内的均匀分布的整数

Dan*_*ake 5 php integer numbers range

可以说我的范围是0到100,并且我想返回一个包含3个整数的数组,该整数均匀地分布在该范围内,什么是最好的方法?

例如:

范围:0-100
通缉:3
返回:25、50、75

Cam*_*Cam 4

伪代码:

function distributeIntegers(int wanted, int rangeLow, int rangeHigh)
    int increment = (rangeHigh - rangeLow) / (wanted + 1)
    array r = new array()
    for (int i = rangeLow + increment; i < rangeHigh; i += increment)
        r.push(i)
    return r
Run Code Online (Sandbox Code Playgroud)

PHP:

function distributeIntegers($wanted = 3, $rangeLow = 0, $rangeHigh = 100){
    $increment = ($rangeHigh - $rangeLow) / ($wanted + 1);
    $r = array();
    for ($i = $rangeLow + $increment; $i < $rangeHigh; $i += $increment)
        $r []= $i;
    return $r;
}
/*
  examples:

  call:
      distributeIntegers();
  returns:
             [0] => 25
             [1] => 50
             [2] => 75

  call:
      distributeIntegers(4);
  returns:
             [0] => 20
             [1] => 40
             [2] => 60
             [3] => 80

  call:
      distributeIntegers(5, 50, 200);
  returns:
             [0] => 75
             [1] => 100
             [2] => 125
             [3] => 150
             [4] => 175
*/
Run Code Online (Sandbox Code Playgroud)