Die algoritham ich verschiedene Kombinationen von Werten bin versucht, wird in der Lage meiner genaue oder ca. Ausgabe Summe des Wertes gebenAlgorithmus für ausschließen Kombinationen mit eindeutigem Wert mit PHP
I Bild für die detaillierte Erklärung beigefügt habe, habe ich erstellt Spaltensumme als Summe jedes Zeilenwerts und schließlich habe ich den gesamten Gesamtwert summiert, der gesamte Summenwert soll mein erwarteter Ausgabewert sein.
Also ich versuche, eine Kombination aus jeder Zeile Summe zu nehmen und Gesamtsummenwert
Mein Algorithmus i gesucht in Google unter
function extractList($array, &$list, $temp = array()) {
if (count($temp) > 0 && ! in_array($temp, $list))
$list[] = $temp;
for($i = 0; $i < sizeof($array); $i ++) {
$copy = $array;
$elem = array_splice($copy, $i, 1);
if (sizeof($copy) > 0) {
$add = array_merge($temp, array($elem[0]));
sort($add);
extractList($copy, $list, $add);
} else {
$add = array_merge($temp, array($elem[0]));
sort($add);
if (! in_array($temp, $list)) {
$list[] = $add;
}
}
}
}
echo "<pre>";
$sum = 32 ; //SUM
$array = array(5.14327,5.72355,5.91794,4.8209,8.69933,4.12977,4.12977,2.92791,2.36829,2.21819,1.33759,1.72278,1.72278,0.589,1.06405,0.6387,0.6387,1.68995,2.51669,3.97842,2.38058,2.17175,4.88264,5.84811,6.14215);
$list = array();
# Extract All Unique Conbinations
extractList($array, $list);
#Filter By SUM = $sum
$list = array_filter($list,function($var) use ($sum) { return(array_sum($var) == $sum);});
#Return Output
print_r($list);
Ihr Bild macht keinen großen Sinn, die grüne Spalte enthält keine Zeilensummen. – Walf
Sie werden antworten? – Walf