Я хочу найти первый набор целых чисел в массиве X
, чтобы сумма равнялась заданному числу N
.
Например:Найти числа, равные сумме в массиве
X = {5, 13, 24, 9, 3, 3} N = 28 Solution = {13, 9, 3, 3}
Вот что я до сих пор: ВНИМАНИЕ, я знаю, он использует глобальные и это плохо, это не точка вопроса.
<?php
function s($index = 0, $total = 0, $solution = '')
{
global $numbers;
global $sum;
echo $index;
if($total == 28)
{
echo '<br/>'.$solution.' = '.$sum.'<br/>';
}
elseif($index < count($numbers) && $total != 28)
{
s($index + 1, $total, $solution);
s($index + 1, $total + $numbers[$index], $solution.' '.$numbers[$index]);
}
}
$numbers = array(5, 13, 24, 9, 3, 3);
$sum = 28;
s();
?>
Я не понимаю, как я могу остановить этот процесс, когда он находит решение .. Я знаю, что я не далек от хорошего решения ..
Заранее спасибо
Это казалось слишком очевидным. – zmbush
Вау, я, должно быть, устал .. спасибо. –