[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не удается придумать алгоритм
Страницы: 1, 2
T1grOK
Цитата (Владимир55 @ 8.01.2017 - 18:56)
Число сочетаний по 12 из 500 равно 446202084718341864844750. Где-то на миллион лет дело растянется.


Цитата (Владимир55 @ 8.01.2017 - 16:44)
Поскольку задача разовая, то надеялся угадать.


Теперь представь какова была вероятность угадать, при том, что в изначальной задаче не было ограничения "по 12" smile.gif

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
sergeiss
Цитата (Владимир55 @ 8.01.2017 - 22:56)
Число сочетаний по 12 из 500...

Откуда взялось 12? Изначально ты говорил "нужно выбрать из них любое количество чисел"

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
T1grOK
Цитата (sergeiss @ 8.01.2017 - 19:30)
А если вдруг найду, куда идти за миллионом?

Сюда smile.gif
Математический институт Клэя



_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
T1grOK
Цитата (sergeiss @ 8.01.2017 - 19:33)
Откуда взялось 12? Изначально ты говорил "нужно выбрать из них любое количество чисел"

Полагаю он просто пытался упростить задачу, т-к для всех 500 чисел, имеется
3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376
вариантов (если не изменяет память то сложность примерно равна - 2 в степени n).

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
sergeiss
ОК. Я согласен получить миллион баксов сейчас и тогда у меня появится много свободного времени для решения задачи. Торжественно обещаю и клянусь решить её в течение не более 50 лет! Честное пионерское! wink.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
redreem
варианты с рандомом это конечно та еще дичь.
решение в лоб:

$n = [1,2,3,4,5,6,7,8,9];//исходный массив
$sum = 14;//сумма

function sum($pos_n, $pos_s, $prev_sum, $s) {
global $n,$sum;
for ($i = $pos_n; $i < count($n); $i++) {
$cur_sum = $prev_sum + $n[$i];
if ($n[$i] >= $sum || $cur_sum > $sum) {
continue;
}
if ($cur_sum == $sum) {
$s[$pos_s] = $n[$i];
foreach ($s as $v) {
echo $v . ' ';
}
echo '<br>';
return;
} else {
$s[$pos_s] = $n[$i];
sum($i + 1, $pos_s+1, $cur_sum, $s);
}
}
}


rsort($n);
sum(0,0,0,[]);
Быстрый ответ:

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