[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Алгоритм вывода всех комбинаций события C n по k
Страницы: 1, 2
Ramzes_Ra
Цитата
Да тут вообще, неправильно, есть такое 311, тоесть повтор одного же числа.

я же написал
Цитата
не успел реализовать верную сортировку

Это на самом деле тоже если додумать верно, то можно написать. Просто раз есть готовая функция, то зачем время терять. Хотя ради интереса я как будет время для себя напишу, спортивный интерес =)
winrol
Цитата (Placido @ 3.09.2013 - 22:38)
Это сочетания. Вот один из вариантов решения:
http://stackoverflow.com/a/16312827/1076419

Походу это решение подойдет, ща буду тестить.

_____________
Заработай легко - много видов проверенного заработка, как Wap та и Web.
Ramzes_Ra
Цитата (winrol @ 4.09.2013 - 00:03)
Цитата (Placido @ 3.09.2013 - 22:38)
Это сочетания. Вот один из вариантов решения:
http://stackoverflow.com/a/16312827/1076419

Походу это решение подойдет, ща буду тестить.

Да, функция шикарна.. Кстати аналогично я и раньше создавал, только сам забыл уже.
Чтобы тебе было проще, я немного адаптирую ту функцию
$result = array(); 
$combination = array();

function combinations(array $myArray, $choose) {
global $result, $combination;

$n = count($myArray);

function inner ($start, $choose_, $arr, $n) {
global $result, $combination;

if ($choose_ == 0) array_push($result,$combination);
else for ($i = $start; $i <= $n - $choose_; ++$i) {
array_push($combination, $arr[$i]);
inner($i + 1, $choose_ - 1, $arr, $n);
array_pop($combination);
}
}

inner(0, $choose, $myArray, $n);
foreach ($result as $key => $value) {
echo ''.implode('',$value).'<br>';
}

}

echo combinations(array(1,2,3,4,5), 2);//2 здесь это твоя $k
здесь вывод идёт сразу нужных тебе значений, только каждое с новой строки. Ты как удобно себе вывод настрой заместо <br>.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.