标签:bcs xpl function UNC debug https 平均数 lod htm
<?php
/*
* @最优整数均分算法
* @param int $number 待平分的数字
* @param int $taotl 平分总个数
*/
function getDivideNumber($number, $total) {
    $divide_number  = bcdiv($number, $total);    // 除法取平均数
    $last_number = bcsub($number, $divide_number * $total);    // 获取剩余
    $number_str = str_repeat($divide_number.‘|‘, $total - $last_number);    // 拼装平分后的数据
    $number_str2 = str_repeat(($divide_number + 1).‘|‘, $last_number);    // 拼装剩下的分配
    $number_str = $number_str2 . $number_str;    // 组合
    return explode(‘|‘, trim($number_str, ‘|‘)); // 去掉前后多余的分隔符 返回数组
}
$arr = getDivideNumber(20, 8);
print_r($arr);
以上代码执行结果为:
Array
(
    [0] => 3
    [1] => 3
    [2] => 3
    [3] => 3
    [4] => 2
    [5] => 2
    [6] => 2
    [7] => 2
)
来自:PHP实现最近似的分配法
标签:bcs xpl function UNC debug https 平均数 lod htm
原文地址:https://www.cnblogs.com/maxian/p/14350098.html