2015-11-21 2 views
-1

Я хочу разделить число в п числа частей, как следуетРазделить целое число в динамическом число частей с использованием PHP

Входные данные: $ п = 4; $ т = 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 

Любые предложения или ссылки поможет многое.

+0

звучит как: https://en.wikipedia.org/wiki/Knapsack_problem – Rizier123

ответ

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; 
} 
+0

это работает ... Большое спасибо jlemley .. – Satya

Смежные вопросы