码迷,mamicode.com
首页 > 编程语言 > 详细

PHP最优整数均分算法

时间:2021-02-01 11:58:28      阅读:0      评论:0      收藏:0      [点我收藏+]

标签: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实现最近似的分配法

 

 
 

PHP最优整数均分算法

标签:bcs   xpl   function   UNC   debug   https   平均数   lod   htm   

原文地址:https://www.cnblogs.com/maxian/p/14350098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!