Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 23:53

Генерация перестановок

Автор Golickoff, 23 ноя 2017, 06:43

0 Пользователей и 1 гость просматривают эту тему.

Golickoff

Всем привет.
Появилась необходимость получить все возможные комбинации из нескольких однотипных элементов, для упрощения возьмём буквы А, Б и В. Вводим А, Б, В, а на выходе получаем что-то вроде
АБВ
АВБ
БАВ
БВА
ВАБ
ВБА
То есть, все возможные комбинации этих элементов с длиной равной количеству элементов. В сети есть примеры на С++, но я его не знаю. У кого-нибудь есть алгоритм, или описание того что мне нужно чтобы можно было найти в поисковике?

Есть идея просто сдвигать элементы вправо в цикле от одного до количества элементов. Тогда АБВ превратится в ВАБ, которая станет БВА, а потом все получившиеся элементы отзеркалить. Для 3х элементов это работает, но я не уверен в том что это правильно, т.к. уже для 4х элементов этот метод не работает. Количество комбинаций равно факториалу количества элементов и с 4мя элементами вариантов получается меньше, поэтому нужен универсальный метод.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Golickoff

Всё, нашёл на инфостарте по запросу "комбинаторика для 1С".
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Похожие темы (5)

Рейтинг@Mail.ru

Поиск