/**
* 求多元值
* int $sum 总和数
* int $num 值个数
* int $shift 偏移量
* return array
*/
public function sum_xyz($sum = 200, $num = 2, $shift=1.1)
{
if ($shift<=1)$shift=1;
$last_num = 0; $s = [];
$avg=$sum/$num; //假设每个值的总和数最大值是平均值
for ($x=0; $x<$num-1; $x++) {
$s[$x] = floor(mt_rand($avg/$shift , $avg));
$last_num = $last_num +$s[$x];
}
$s[$num-1] = bcsub($sum ,$last_num,0);
return $s;
}
php根据指定和 求指定个数值 sun = x+y+z+....+n
于 2021-06-21 14:06:42 首次发布