<?php
$dados = array('0.10','0.20','0.30','0.50', '3.00','3.30','4.00','5.00',
'1.00','1.10','2.00','2.20');
function adicionaValorCombinacao($dados, $comb, $objetivo, &$resultados){
return;
}
foreach ($dados as $dado){
if ($total > $objetivo){
break;
}
$resultados[$chave] = $comb;
}
adicionaValorCombinacao($dados, $comb, $objetivo, $resultados);
}
}
}
function combinacoesParaObjetivo($dados, $objetivo){
for ($i = 0; $i < count($dados); ++$i){ adicionaValorCombinacao($dados, $combinacao, $objetivo, $resultados);
}
return $resultados;
}
$combinacoes = combinacoesParaObjetivo($dados, 1.1);
PD9waHAKJGRhZG9zID0gYXJyYXkoJzAuMTAnLCcwLjIwJywnMC4zMCcsJzAuNTAnLAogICAgICAgICAgICAgICAnMy4wMCcsJzMuMzAnLCc0LjAwJywnNS4wMCcsCiAgICAgICAgICAgICAgICcxLjAwJywnMS4xMCcsJzIuMDAnLCcyLjIwJyk7CgpmdW5jdGlvbiBhZGljaW9uYVZhbG9yQ29tYmluYWNhbygkZGFkb3MsICRjb21iLCAkb2JqZXRpdm8sICYkcmVzdWx0YWRvcyl7CglpZiAoY291bnQoJGNvbWIpID09IGNvdW50KCRkYWRvcykpewoJCXJldHVybjsJCQoJfQoJCQoJZm9yZWFjaCAoJGRhZG9zIGFzICRkYWRvKXsKCQlpZiAoIWluX2FycmF5KCRkYWRvLCAkY29tYikpewoJCQlhcnJheV9wdXNoKCRjb21iLCAkZGFkbyk7CgkJCSR0b3RhbCA9IGFycmF5X3N1bSgkY29tYik7CgkJCWlmICgkdG90YWwgPiAkb2JqZXRpdm8pewoJCQkJYXJyYXlfcG9wKCRjb21iKTsKCQkJCWJyZWFrOwkJCQoJCQl9CgkJCQoJCQkkY2hhdmUgPSBzdHJfc3BsaXQoaW1wbG9kZSgiIiwgJGNvbWIpKTsKCQkJc29ydCgkY2hhdmUpOwoJCQkkY2hhdmUgPSBpbXBsb2RlKCIiLCAkY2hhdmUpOwoJCQlpZiAoJHRvdGFsID09PSAkb2JqZXRpdm8gJiYgIWFycmF5X2tleV9leGlzdHMoJGNoYXZlLCAkY29tYikpewoJCQkJJHJlc3VsdGFkb3NbJGNoYXZlXSA9ICRjb21iOwoJCQl9CgkJCQoJCQlhZGljaW9uYVZhbG9yQ29tYmluYWNhbygkZGFkb3MsICRjb21iLCAkb2JqZXRpdm8sICRyZXN1bHRhZG9zKTsKCQkJYXJyYXlfcG9wKCRjb21iKTsJCQkKCQl9Cgl9Cn0KCmZ1bmN0aW9uIGNvbWJpbmFjb2VzUGFyYU9iamV0aXZvKCRkYWRvcywgJG9iamV0aXZvKXsKCSRyZXN1bHRhZG9zID0gQXJyYXkoKTsKCWZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCRkYWRvcyk7ICsrJGkpewoJCSRjb21iaW5hY2FvID0gQXJyYXkoKTsKCQlhZGljaW9uYVZhbG9yQ29tYmluYWNhbygkZGFkb3MsICRjb21iaW5hY2FvLCAkb2JqZXRpdm8sICRyZXN1bHRhZG9zKTsKCQkkdWx0aW1vID0gYXJyYXlfcG9wKCRkYWRvcyk7CgkJYXJyYXlfdW5zaGlmdCgkZGFkb3MsICR1bHRpbW8pOwoJfQoJCglyZXR1cm4gJHJlc3VsdGFkb3M7Cn0KCiRkYWRvcyA9IGFycmF5X21hcChmdW5jdGlvbigkdmFsKXsgcmV0dXJuIGZsb2F0dmFsKCR2YWwpOyB9LCAkZGFkb3MpOwokY29tYmluYWNvZXMgPSBjb21iaW5hY29lc1BhcmFPYmpldGl2bygkZGFkb3MsIDEuMSk7CnZhcl9kdW1wKCRjb21iaW5hY29lcyk7