![]() |
Сгенерировать перестановки A-Z 0-9, 7 позиций
Помогите пожалуйста сгенерировать перестановки с повторениями.
"Слово" из 7 знаков. Знак - буквы латинского алфавита A-Z и числа 0-9 Понимаю, что вариантов будет ооочень много, но хотя бы примерный алгоритм скрипта хотелось бы узнать. Заранее благодарю! |
nastasa, Поясните: есть слово из 7 знаков. Эти знаки неизменные? Надо именно из этих 7 знаков путём перестановок получить все возможные сочетания?
|
Цитата:
То есть получить все перестановки с повторениями типа ABCDIFG ABCDIFU ABCDIF1 ABCDIF2 и т. д. Очень надо :( |
Почему именно на пакетных файлах? Это не лучший выбор.
|
Цитата:
|
Вам для каких целей? Один конечный файл с построчными результатами комбинаций займёт чуть больше 352 с половиной Gb.
|
Цитата:
|
nastasa,
если вы решили что избретете генератор подбора пароля, то уверяю вас что вы опоздали и это сделано в более удобной правильной и качественной форме, вот только возможно не всем доступно и не всем понятно и НЕ всем нужно. |
Цитата:
А вот, кстати, я могу быть и не прав, ибо что-то проглядел про: Цитата:
Цитата:
|
nastasa, Я не силён в комбинаторике, поэтому оценить объём выходного файла не берусь.
Я поставил задачу в общем виде: Необходимо сформировать все возможные слова длиной M символов. Набор возможных символов задаётся. Число возможных символов >=M В сформированном слове не должно быть одинаковых символов. Вот VBS-скрипт, реализующий эту постановку. После его запуска дождитесь сообщения, что он отработал
Код:
'Sym = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9") В приведенном примере длина слова M=7 Взят набор из 7 символов "A", "B", "C", "D", "E", "F", "G" В выходном файле получилось 5040 значений. Для набора из 8 символов "A", "B", "C", "D", "E", "F", "G", "H" и длине слова M=7 в выходном файле получилось 40320 значений. И время выполнения выросло резко. Не знаю, но, по видимому, можно применить более эффективный алгоритм. Вы можете всё это поменять, лишь бы число возможных символов было не менее длины слова - никаких защит от этого я не предусматривал. |
Время: 23:55. |
Время: 23:55.
© OSzone.net 2001-