问题:5个苹果给3个小朋友分,苹果不能切开(必然有2个小朋友分2个苹果 1个小朋友分1个苹果)
下面直接上代码:
/**
* @param $sum 要分的总数(苹果数量)
* @param $number 要分的个数(小朋友数量)
* @return int|mixed
*/
public function averageAllot($sum,$number){
$newArray = [];
$count = 0;
for ($i=0;$i<$number;$i++){
$result = ceil(($sum - $count) / ($number - $i)); //注意分母不能为0,用的时候需要做个判断
$newArray[$i] = $result;
$count += $result;
}
return $newArray;
}
结果:
$data = ['2','2','1'];