使用php将整数除以动态的零件数

时间:2015-11-21 13:09:54

标签: php

我想将一个数字分成n个部分,如下所示

输入:$ n = 4; $ m = 14; 输出应为:array(1 => 4,2 => 4,3 => 3,4 => 3);

即:

   $n           $m

   1          1+1+1+1
   2          1+1+1+1
   3          1+1+1
   4          1+1+1

任何建议或链接都​​会有很大帮助。

1 个答案:

答案 0 :(得分:0)

这是一种方法 - 这适用于phpfiddle:

$n = 4;
$m =14;

$array = distribute($m,$n);
print_r($array);

function distribute($m,$n) {

    $div = floor($m / $n);
    $mod = fmod($m, $n);
    $result = array();
    for ($i = 1;$i <= $n;$i++) {
        $result[$i] = $div; 
    }

    if ($mod > 0) { 
        for ($i = 1;$i <= $mod;$i++) {
            $result[$i] = $result[$i] + 1;
        }
    }
    return $result;
}