Второй вариант без рекурсии, где сначала надо найти все размещения с повторениями, сгенерирует до 7 включительно, так как понятно разм. с повторениями намного больше.
Пример, если всех перестановок семи элементов abcdefg - 7! = 5040, то размещений 7⁷ = 823543. Т.е. вариант долгий и нудный, но он есть.
Вариант третий можно автоматизировать, он совсем долгий (почти бесконечный ) Один скрипт генерирует n-ое количество случайных выборок и сохраняет в файл, другой скрипт забирает результат удаляет то - что не попадает под перестановку, например aaabc, потом удаляет повторы, опять же можно сохранять в другой файл, который будет базой
Третий скрипт находит все перестановки 4 эл. за 100 рекурсивных вызовов. (Добавление)
Tyoma5891 пишет:
у меня такое подозрение, для побора паролей, но для этого достаточно тупого перебора методом +1 )
Причем тут перестановки и перебор? При перестановках вы не получаете перебора всех значений.
Третий вариант интересен тем, что последовательность перестановок будет случайной.
Еще такой вариант получения перестановок, полуавтоматический. Не знаю, где может пригодиться. Идея такая: можно генерировать любой набор букв рандомно.
Например, при помощи скрипта из этой статьи: http://www.php.su/articles/?cat=...les&page=052
Писать этот набор в файл, другим скриптом отсеивать все строчки, в которых 1 буква встречается более одного раза, а затем применять arrar_unique для поиска уникальных.