Показать сообщение отдельно

  #9  
Старый 10.11.2009, 02:28
StealthMaster
Познающий
Регистрация: 03.12.2008
Сообщений: 56
С нами: 9176827

Репутация: 29
По умолчанию

Цитата:
Сообщение от lastsmile  
здравствуйте господа программисты. интересует вопрос по умному перебору. задача следующая: имеется число 1234...n
задача: загнать в одномерный массив всевозможные комбинации этого числа так чтобы каждая цифра присутствовала только 1 раз.
допустим если ввели N=3 то в массиве должны быть числа
123
132
213
231
312
321
придумал свой алгоритм но слишком мудрено получилось. интересуют ваши варианты. может можно как-то проще. ну наверное все знают что комбинаций тут n!=1*2*3*...*n
Как я понял, нужно реализовать перебор перестановок на n символах. Рассматривай каждое число как последовательность символов.
Варианты перебора описаны, например, здесь: http://rain.ifmo.ru/cat/view.php/vis/combinations/permutations-2000

Последний раз редактировалось StealthMaster; 10.11.2009 в 03:14..
 
Ответить с цитированием