假设我的范围在0到100之间,我希望返回的数组包含3个整数,这些整数均匀分布在该范围内,这样做的最佳方法是什么?
例如:
范围:0-100
通缉:3
退回:25,50,75
解决方法:
伪代码:
function foo(int rangeLow, int rangeHigh, int wanted)
int increment=(rangeHigh-rangeLow)/(wanted+1)
array r=new array()
for (int i=rangeLow+increment;i
r.push(i)
return r
编辑:错过了php标签……
//tested:
function foo($wanted=3, $rangeLow=0, $rangeHigh=100){
$increment=($rangeHigh-$rangeLow)/($wanted+1);
$r=array();
for ($i=$rangeLow+$increment;$i
$r[]=$i;
return $r;
}
/*
examples:
call:
foo ();
returned:
[0] => 25
[1] => 50
[2] => 75
call:
foo (4);
returned:
[0] => 20
[1] => 40
[2] => 60
[3] => 80
call:
foo (5,50,200);
returned:
[0] => 75
[1] => 100
[2] => 125
[3] => 150
[4] => 175
*/
标签:php,integer,numbers,range
来源: https://codeday.me/bug/20190610/1213777.html