| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Вывести все варианты перестановок? |
| Автор: BlHol 15.8.2007, 16:39 |
| День добрый! Наверняка, где-то здесь есть решение аналогичной задачи, но, увы, не нашел... Итак. Есть массив из 3-х чисел, скажем {1,2,3}. Как отобразить все возможные варианты перестановок (каковых, естественно, n!) с учетом того, что их (перестановки) нужно преобразовать в String Заранее спасибо. С уважением. P.S. И до кучи вопрос. Догадываюсь, что подобных задачек до фига, но как часто алгоритмы, реализованные в этих задачках, встречаются в реальной жизни? |
| Автор: AntonSaburov 15.8.2007, 16:48 |
| Ну тут - http://algolist.manual.ru/maths/combinat/ И вот - http://algolist.manual.ru/maths/combinat/permutations.php |
| Автор: ChessMaster 15.8.2007, 16:52 |
| Первым на ум всегда приходит самый сложный метод вот он: представь, что твоя строка это число с основанием n. Скажем для твоего 1,2,3: abc= 123,231, и так далее сделай, приоритеты типа 1++=2, 2++=3, 3++ = 11 Найди минимум= 111. Найди максимум=333. Фо ту ду сделает всю грязную работу за тебя. P.S. Это если ехать в питер из москвы через владивосток |
| Автор: BlHol 17.8.2007, 17:26 |
| Спасибо огроменное. Только, вот, проблема: приведенный в ссылке паскальный код (перебитый в JAVA) нормально не срабатывает, паразит. А конкретно, если N=3, то выдает только 4 перестановки из 6-ти. |