Как найти сумму каждого подмножества в php?

Я хочу вычислить сумму всех возможных подмножеств массива форм.

$array= Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 6 ); //changing

function powerSet($array) {
// add the empty set
$results = array(array());
foreach ($array as $element) {
foreach ($results as $combination) {
$results[] = array_merge(array($element), $combination);
$total= array_sum($results); // I try this
}
echo $total; // I try this
}
return $results;
}

Приведенный выше код используется для поиска подмножеств. Я нашел этот код из Вот. Я просто добавляю array_sum но показать 0, как найти общее количество каждого подмножества? тем не мение ?

0

Решение

$result в функции есть массив массивов, поэтому вы не можете просто использовать array_sum в теме. Для суммирования каждого подмножества необходимо использовать array_map вместе с array_sum.

Вы можете сделать это в конце функции — просто добавьте print_r(array_map("array_sum", $results)); как последняя строка (если вы хотите его в качестве вывода).

Мне понравился @ splash58 комментарий об использовании его вне функции с:

$ans = array_map("array_sum", powerSet($array));
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]