Через неделю поиск и преобразование многих алгоритмов с другого языка в php для создания массива, содержащего «комбинацию k из n».Я застрял.Помогите мне, пожалуйста.
Это мой код (с использованием php):
function comb($item,$arr,$out, $start, $n, $k, $maxk) {
if ($k > $maxk) {
foreach($arr as $ar){
echo "$ar";
echo "<br/>";
}
return;
}
for ($i=$start; $i<=$n; $i++) {
$arr[$k] = $item[$i-1];
comb($isi, $arr, $out, $i+1, $n, $k+1, $maxk);
}
}
$team = array("A","B","C","D");
$ar = array();
$o = array();
comb($team,$ar,$o,1,4,1,2);
Рекурсивный алгоритм выше действительно смущает меня.Приведенный выше код успешно сформировал комбинацию, но я не могу объединить их в один массив из-за его рекурсивных характеристик.Я просто хочу сделать массив, содержащий результат комбинации 2 из 4 элементов.Вот так (см. Ниже)
Array (
[0] => Array (
[1] => A
[2] => B
)
[1] => Array (
[1] => A
[2] => C
)
[2] => Array (
[1] => A
[2] => D
)
[3] => Array (
[1] => B
[2] => C
)
[4] => Array (
[1] => B
[2] => D
)
[5] => Array (
[1] => C
[2] => D
)
)
Я знаю, что все еще далек от ответа.Но, пожалуйста, ведите меня, чтобы достичь этого ответа.Возможно, вы знаете другую технику, это не имеет значения.Если ваш код работает, я буду его использовать.Неважно, какую технику вы использовали.Любые идеи будут с благодарностью, спасибо ..!