Я нахожусь в ситуации, когда мне нужно достичь деления 921/39 и, задав целые числа (39 раз для цикла), снова достичь 921.
$packagesCount = count($packages); // = 39
$averageWeight = 921/$packagesCount; // = 23.6153846154
foreach ($packages as $package) {
$package['Weight'] = "<whole number>";
}
Причина в том, что мне нужно дать целые числа API, но общее число должно быть 921. Таким образом, я не могу дать круглые числа.
Один из способов, о котором я подумал:
$packagesCount = count($packages); // = 39
$averageWeight = 921/$packagesCount; // = 23.6153846154
$remainder = ceil($averageWeight); // = 24
foreach ($packages as $package) {
$package['Weight'] = floor($averageWeight);
if ($remainder > 0) {
$package['Weight'] += 1;
$remainder -= 1;
}
}
Но попытка с общим весом 999
не работает с этим подходом; вместо 999 в конце он дает 39 * 25 + 26 = 1001
.
Для 999 я должен использовать 39 * 25 + 24 = 999
но как?