Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 09 Февраль, 2012, 07:09:37

Страниц: [1] 2 3
Печать
Автор Тема: Вычисление комбинаций по факториалу  (Прочитано 4173 раз)
0 Пользователей и 1 Гость смотрят эту тему.
adw0rd    ↓ 
12 Май, 2009, 04:31:44
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: Джедаи

Карма: не нужна
Сообщений: 17221
Сила слова: 1.65

Есть ли в JavaScript готовая ф-ия для вычисления всех комбинаций по факториалу?

Комбинаторное определение
 
В комбинаторике факториал определяется как количество перестановок множества из n элементов. Например, элементы множества {A,B,C,D} можно линейно упорядочить 4!=24 способами:
 
ABCD  BACD  CABD  DABC
ABDC  BADC  CADB  DACB
ACBD  BCAD  CBAD  DBAC
ACDB  BCDA  CBDA  DBCA
ADBC  BDAC  CDAB  DCAB
ADCB  BDCA  CDBA  DCBA

Мне надо, например из 3-х слов
раз, два, три

составить комбинации

раз-два-три
раз-три-два
два-раз-три
два-три-раз
три-раз-два
три-два-раз
Записан

FreeBSD, Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch
Кинсбург * Либург * Футбург * Мой блог
phpdude    ↓ 
12 Май, 2009, 04:35:58 , спустя 4 минуты 14 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: 19712
Сила слова: 1.72

почти уверен что такой штуки в яваскрипте нету ..
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
adw0rd    ↓ 
12 Май, 2009, 04:39:35 , спустя 3 минуты 37 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: Джедаи

Карма: не нужна
Сообщений: 17221
Сила слова: 1.65

helldude, тоже так думаю, интересно а в фреймворках...? Я сейчас сам напишу конечно, но просто интересно...
Записан

FreeBSD, Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch
Кинсбург * Либург * Футбург * Мой блог
phpdude    ↓ 
12 Май, 2009, 04:42:42 , спустя 3 минуты 7 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: 19712
Сила слова: 1.72


helldude, тоже так думаю, интересно а в фреймворках...? Я сейчас сам напишу конечно, но просто интересно...
 
такие задачи .. ну оооочень уж редки имхо и в фрейм выносить просто нерационально, поэтому думаю нету)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
adw0rd    ↓ 
12 Май, 2009, 04:54:28 , спустя 11 минут 46 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: Джедаи

Карма: не нужна
Сообщений: 17221
Сила слова: 1.65

helldude, ну возможно есть плагины... ну ладно, сейчас напишу и выложу... пока что еклипс апдейтится...
Записан

FreeBSD, Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch
Кинсбург * Либург * Футбург * Мой блог
phpdude    ↓ 
12 Май, 2009, 04:57:13 , спустя 2 минуты 45 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: д-о-х-у-я!
Сила слова: 1.72


helldude, ну возможно есть плагины... ну ладно, сейчас напишу и выложу... пока что еклипс апдейтится...
КОД В СТУДИЮ! ждем! :)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Убийца    ↓ 
12 Май, 2009, 04:57:42 , спустя 29 секунд
НЕ ХУЕТА! ХУЕТА!

адский парень
Группа: Жмурики

Карма: 7
Сообщений: 530
Сила слова: 1.32

писал такое года 4 назад на x86 ассемблере)
Записан
phpdude    ↓ 
12 Май, 2009, 05:08:02 , спустя 10 минут 20 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: 19712
Сила слова: 1.72


писал такое года 4 назад на x86 ассемблере)
выкладывай))
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
mario    ↓ 
12 Май, 2009, 05:36:39 , спустя 28 минут 37 секунд
НЕ ХУЕТА! ХУЕТА!

бухарио
Группа: Джедаи

Карма: 62
Сообщений: 5970
Сила слова: 1.04



писал такое года 4 назад на x86 ассемблере)
выкладывай))
+1 очень интересно глянуть на асу :)
Записан

с ув. mario.
Контакты
Убийца    ↓ 
12 Май, 2009, 05:45:13 , спустя 8 минут 34 секунды
НЕ ХУЕТА! ХУЕТА!

адский парень
Группа: Жмурики

Карма: 7
Сообщений: 530
Сила слова: 1.32

старый код не нашел, но идея здесь: http://www.wasm.ru/article.php?article=cycle_pwd
Записан
adw0rd    ↓ 
12 Май, 2009, 10:14:19 , спустя 4 часа 29 минут 6 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: Джедаи

Карма: не нужна
Сообщений: 17221
Сила слова: 1.65

ссылки в помощь http://tvsh2004.narod.ru/alg08.html и http://symmetrica.net/algorithms/combinations.htm
Записан

FreeBSD, Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch
Кинсбург * Либург * Футбург * Мой блог
phpdude    ↓ 
12 Май, 2009, 10:44:33 , спустя 30 минут 14 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: 19712
Сила слова: 1.72

обе ссылки - ужас
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
phpdude    ↓ 
12 Май, 2009, 10:58:34 , спустя 14 минут 1 секунду
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: 19712
Сила слова: 1.72

PHP
<?
$data = array("Раз","Два","Три");
 
$wdata = array_merge($data,$data);
$count = count($data);
 
$result = array();
foreach($data as $i=>$v)
{
    $c = $wdata;
    unset($c[$i],$c[$i+$count]);
    $c = array_values($c);
 
    for($j=0;$j<$count-1;$j++)
    {
        $return[] = $v."-".join("-",array_slice($c,$j,$count-1));
    }
}
 
echo join("\n",$return);

ну и у мну пиздец код конечно, но как вариант может и пойдет :))
 
имхо главное - прозрачность кода.
 
Раз-Два-Три
Раз-Три-Два
Два-Раз-Три
Два-Три-Раз
Три-Раз-Два
Три-Два-Раз
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
phpdude    ↓ 
12 Май, 2009, 10:59:48 , спустя 1 минуту 14 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: д-о-х-у-я!
Сила слова: 1.72

Раз-Два-Три-Четыре-Пядь
Раз-Три-Четыре-Пядь-Два
Раз-Четыре-Пядь-Два-Три
Раз-Пядь-Два-Три-Четыре
Два-Раз-Три-Четыре-Пядь
Два-Три-Четыре-Пядь-Раз
Два-Четыре-Пядь-Раз-Три
Два-Пядь-Раз-Три-Четыре
Три-Раз-Два-Четыре-Пядь
Три-Два-Четыре-Пядь-Раз
Три-Четыре-Пядь-Раз-Два
Три-Пядь-Раз-Два-Четыре
Четыре-Раз-Два-Три-Пядь
Четыре-Два-Три-Пядь-Раз
Четыре-Три-Пядь-Раз-Два
Четыре-Пядь-Раз-Два-Три
Пядь-Раз-Два-Три-Четыре
Пядь-Два-Три-Четыре-Раз
Пядь-Три-Четыре-Раз-Два
Пядь-Четыре-Раз-Два-Три
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
phpdude    ↓ 
12 Май, 2009, 11:00:36 , спустя 48 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: 19712
Сила слова: 1.72

Раз-Два-Три-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь
Раз-Три-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Два
Раз-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Два-Три
Раз-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Два-Три-Четыре
Раз-Жесдь-Семь-Восемь-Девядь-Десядь-Два-Три-Четыре-Пядь
Раз-Семь-Восемь-Девядь-Десядь-Два-Три-Четыре-Пядь-Жесдь
Раз-Восемь-Девядь-Десядь-Два-Три-Четыре-Пядь-Жесдь-Семь
Раз-Девядь-Десядь-Два-Три-Четыре-Пядь-Жесдь-Семь-Восемь
Раз-Десядь-Два-Три-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь
Два-Раз-Три-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь
Два-Три-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Раз
Два-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Три
Два-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Три-Четыре
Два-Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Три-Четыре-Пядь
Два-Семь-Восемь-Девядь-Десядь-Раз-Три-Четыре-Пядь-Жесдь
Два-Восемь-Девядь-Десядь-Раз-Три-Четыре-Пядь-Жесдь-Семь
Два-Девядь-Десядь-Раз-Три-Четыре-Пядь-Жесдь-Семь-Восемь
Два-Десядь-Раз-Три-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь
Три-Раз-Два-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь
Три-Два-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Раз
Три-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Два
Три-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Два-Четыре
Три-Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Два-Четыре-Пядь
Три-Семь-Восемь-Девядь-Десядь-Раз-Два-Четыре-Пядь-Жесдь
Три-Восемь-Девядь-Десядь-Раз-Два-Четыре-Пядь-Жесдь-Семь
Три-Девядь-Десядь-Раз-Два-Четыре-Пядь-Жесдь-Семь-Восемь
Три-Десядь-Раз-Два-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь
Четыре-Раз-Два-Три-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь
Четыре-Два-Три-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Раз
Четыре-Три-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Два
Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Два-Три
Четыре-Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Два-Три-Пядь
Четыре-Семь-Восемь-Девядь-Десядь-Раз-Два-Три-Пядь-Жесдь
Четыре-Восемь-Девядь-Десядь-Раз-Два-Три-Пядь-Жесдь-Семь
Четыре-Девядь-Десядь-Раз-Два-Три-Пядь-Жесдь-Семь-Восемь
Четыре-Десядь-Раз-Два-Три-Пядь-Жесдь-Семь-Восемь-Девядь
Пядь-Раз-Два-Три-Четыре-Жесдь-Семь-Восемь-Девядь-Десядь
Пядь-Два-Три-Четыре-Жесдь-Семь-Восемь-Девядь-Десядь-Раз
Пядь-Три-Четыре-Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Два
Пядь-Четыре-Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Два-Три
Пядь-Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Два-Три-Четыре
Пядь-Семь-Восемь-Девядь-Десядь-Раз-Два-Три-Четыре-Жесдь
Пядь-Восемь-Девядь-Десядь-Раз-Два-Три-Четыре-Жесдь-Семь
Пядь-Девядь-Десядь-Раз-Два-Три-Четыре-Жесдь-Семь-Восемь
Пядь-Десядь-Раз-Два-Три-Четыре-Жесдь-Семь-Восемь-Девядь
Жесдь-Раз-Два-Три-Четыре-Пядь-Семь-Восемь-Девядь-Десядь
Жесдь-Два-Три-Четыре-Пядь-Семь-Восемь-Девядь-Десядь-Раз
Жесдь-Три-Четыре-Пядь-Семь-Восемь-Девядь-Десядь-Раз-Два
Жесдь-Четыре-Пядь-Семь-Восемь-Девядь-Десядь-Раз-Два-Три
Жесдь-Пядь-Семь-Восемь-Девядь-Десядь-Раз-Два-Три-Четыре
Жесдь-Семь-Восемь-Девядь-Десядь-Раз-Два-Три-Четыре-Пядь
Жесдь-Восемь-Девядь-Десядь-Раз-Два-Три-Четыре-Пядь-Семь
Жесдь-Девядь-Десядь-Раз-Два-Три-Четыре-Пядь-Семь-Восемь
Жесдь-Десядь-Раз-Два-Три-Четыре-Пядь-Семь-Восемь-Девядь
Семь-Раз-Два-Три-Четыре-Пядь-Жесдь-Восемь-Девядь-Десядь
Семь-Два-Три-Четыре-Пядь-Жесдь-Восемь-Девядь-Десядь-Раз
Семь-Три-Четыре-Пядь-Жесдь-Восемь-Девядь-Десядь-Раз-Два
Семь-Четыре-Пядь-Жесдь-Восемь-Девядь-Десядь-Раз-Два-Три
Семь-Пядь-Жесдь-Восемь-Девядь-Десядь-Раз-Два-Три-Четыре
Семь-Жесдь-Восемь-Девядь-Десядь-Раз-Два-Три-Четыре-Пядь
Семь-Восемь-Девядь-Десядь-Раз-Два-Три-Четыре-Пядь-Жесдь
Семь-Девядь-Десядь-Раз-Два-Три-Четыре-Пядь-Жесдь-Восемь
Семь-Десядь-Раз-Два-Три-Четыре-Пядь-Жесдь-Восемь-Девядь
Восемь-Раз-Два-Три-Четыре-Пядь-Жесдь-Семь-Девядь-Десядь
Восемь-Два-Три-Четыре-Пядь-Жесдь-Семь-Девядь-Десядь-Раз
Восемь-Три-Четыре-Пядь-Жесдь-Семь-Девядь-Десядь-Раз-Два
Восемь-Четыре-Пядь-Жесдь-Семь-Девядь-Десядь-Раз-Два-Три
Восемь-Пядь-Жесдь-Семь-Девядь-Десядь-Раз-Два-Три-Четыре
Восемь-Жесдь-Семь-Девядь-Десядь-Раз-Два-Три-Четыре-Пядь
Восемь-Семь-Девядь-Десядь-Раз-Два-Три-Четыре-Пядь-Жесдь
Восемь-Девядь-Десядь-Раз-Два-Три-Четыре-Пядь-Жесдь-Семь
Восемь-Десядь-Раз-Два-Три-Четыре-Пядь-Жесдь-Семь-Девядь
Девядь-Раз-Два-Три-Четыре-Пядь-Жесдь-Семь-Восемь-Десядь
Девядь-Два-Три-Четыре-Пядь-Жесдь-Семь-Восемь-Десядь-Раз
Девядь-Три-Четыре-Пядь-Жесдь-Семь-Восемь-Десядь-Раз-Два
Девядь-Четыре-Пядь-Жесдь-Семь-Восемь-Десядь-Раз-Два-Три
Девядь-Пядь-Жесдь-Семь-Восемь-Десядь-Раз-Два-Три-Четыре
Девядь-Жесдь-Семь-Восемь-Десядь-Раз-Два-Три-Четыре-Пядь
Девядь-Семь-Восемь-Десядь-Раз-Два-Три-Четыре-Пядь-Жесдь
Девядь-Восемь-Десядь-Раз-Два-Три-Четыре-Пядь-Жесдь-Семь
Девядь-Десядь-Раз-Два-Три-Четыре-Пядь-Жесдь-Семь-Восемь
Десядь-Раз-Два-Три-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь
Десядь-Два-Три-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Раз
Десядь-Три-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Раз-Два
Десядь-Четыре-Пядь-Жесдь-Семь-Восемь-Девядь-Раз-Два-Три
Десядь-Пядь-Жесдь-Семь-Восемь-Девядь-Раз-Два-Три-Четыре
Десядь-Жесдь-Семь-Восемь-Девядь-Раз-Два-Три-Четыре-Пядь
Десядь-Семь-Восемь-Девядь-Раз-Два-Три-Четыре-Пядь-Жесдь
Десядь-Восемь-Девядь-Раз-Два-Три-Четыре-Пядь-Жесдь-Семь
Десядь-Девядь-Раз-Два-Три-Четыре-Пядь-Жесдь-Семь-Восемь
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Страниц: [1] 2 3
Печать
 

Перейти в: