Страницы: 1
RSS
Перебор всех возможных вариантов
 
День добрый.  
 
Подскажите пожалуйста алгоритм по поиску всех возможных комбинаций из N элементов. Элементы внутри комбинации повторятся не должны.  
Пример внутри.  
Тему Волшебника читал, но вынести что то полезное не смог (  
Заранее спасибо.  
 
З.Ы. всем привет :)
 
Если Вы про эту тему http://www.planetaexcel.ru/forum.php?thread_id=19293 , <BR>то автор скорее "святой", чем "Волшебник" :) А с кодом по моей ссылке не пробовали разбираться? У меня руки не дошли.
 
Привет, Dophin!  
Искал, но не нашёл тему по перебору всех вариантов заказанного количества цифр, вероятно лотерейщик заказывал :)  
Там ещё вроде slan код написал - результат на несколько листов выгружался.
 
Ключевое слово ПИЦА! :) http://www.planetaexcel.ru/forum.php?thread_id=19042
 
{quote}{login=Казанский}{date=15.10.2010 02:19}{thema=}{post}Ключевое слово ПИЦА! :) http://www.planetaexcel.ru/forum.php?thread_id=19042{/post}{/quote}  
 
с пицой не то, нужно не случайные а все возможные комбинации.
 
{quote}{login=Казанский}{date=15.10.2010 02:19}{thema=}{post}Ключевое слово ПИЦА! :) http://www.planetaexcel.ru/forum.php?thread_id=19042{/post}{/quote}  
 
это не подходит, т.к. нужны все перестановки, а вероятность случайным образом выбрать нужный вариант для последней перестановки составляет 1/9!=0,0000027557
 
Вот вариант Слэна, о котором, возможно, шла речь, если я не ошибаюсь.
 
Большое спасибо. именно то что надо)
 
имел глупость скачать и запустить свой же код для 9 элементов :)  
 
иксель не выдержал
Живи и дай жить..
 
ну да) вложенные циклы работают элегантно, но достаточно медленно)  
 
Мне в принципе и 5 хватит, 9 это так, абсолют :)  
 
Но если еще есть какие способы перебора вариантов - с благодарностью приму в дар :)  
 
Или вдруг у кого есть калькулятор ICM на vba тоже с удовольствием посмотрю)
 
{quote}{login=слэн}{date=15.10.2010 03:58}{thema=}{post}имел глупость скачать и запустить свой же код для 9 элементов :)  
 
иксель не выдержал{/post}{/quote}  
Количество возможных вариантов для 9 элементов - 9!, т.е. 362880, не так уж и много, в школе проходили подобный алгоритм, сейчас уже не вспомню, если что нибудь найду - поделюсь
 
кто то ведь должен быть кто не забыл комбинаторику )))
 
http://programmersforum.ru/showthread.php?t=34785 если вдруг кому то понадобится)
 
Всем доброго дня!  
В предложенной Теме действительно предложено решение по подбору.  
Помогите пожалуйста немного изменить это, прост оне могу понять как это сделано)  
А именно, требуется чтобы он выдавал не одной цифрой 1234 и пр, а ставил значения 1,2,3,4 в отдельном столбце.    
Прикладываю пример.  
Спасибо большое)
 
Крик души.  
Ребята помогите пож-та!
 
В виде костыля - можно формулами раскидывать по столбцам, или в коде исходя из количества цифр через офсет и Left, Mid заносить в ячейки.  
Но это криво...
 
Может как-то формулами можно?    
я попробовал, но хрень какая-то получилась((
 
Формула для Р1  
=ПСТР($K1;СТОЛБЕЦ()-15;1)
 
Спасибо огромное землячок)  
я с Наб. Челнов)  
Но такое простое решение меня просто ставит в ступор)))
 
Введите формулу в Р1, растяните насколько нужно вправо, потом, не снимая выделения, растяните вниз.
 
А такое ещё проще, хотя по сути тоже самое, но разбитое на 4 части:  
=LEFT(K1;1)  
=MID(K1;2;1)  
=MID(K1;3;1)  
=MID(K1;4;1)
 
Да...Всем Спасибо огромное!  
Немного лирики: Удручает меня мое знание Excel, тока понять не могу где же люди учатся?))    
Считаем что Тема закрыта!  
Готов ребят проставиться)
 
{quote}{login=Dmitry}{date=16.12.2010 12:51}{thema=}{post}Да...Всем Спасибо огромное!  
Немного лирики: Удручает меня мое знание Excel, тока понять не могу где же люди учатся?))    
Считаем что Тема закрыта!  
Готов ребят проставиться){/post}{/quote}  
 
я в москве  
dreamglad@yandex.ru  
пишите, слово держу)
 
небольшой вопрос.  
а как называется функция MID в руссифицированной версии экселя?  
MID=??  
LEFT=ЛЕВСИМВ
 
Дорогие друзья, позвольте задать еще вопрос?    
Полученный в результате массив выдает значение 1 2 3 4 в текстовом формате, что не позволяет применять к нему формулы типа ВПР.  
Как можно это исправить?    
Пробовал тупо скопировать и вставить как значения, результат отрицательный((    
Спасибо.
 
> Как можно это исправить?    
=--ПСТР($K1;СТОЛБЕЦ()-15;1)  
 
Аналогично с формулами Hugo.  
 
MID=ПСТР  
RIGHT=ПРАВСИМВ
 
еще раз огромное спасибо!
 
Так вроде побыстрее будет
Страницы: 1
Наверх