Умные вопросы
Войти
Регистрация
Комбинаторика. Существует ли алгоритм, который при неизвестном количестве символов создает из них все комбинации?
Существует ли такой алгоритм, который на вход получает несколько символов/букв записывает все возможные комбинации, при условии, что количество символов неизвестно?
Пример: вводим цифру 3. Она означает, что будут введены 3 символа. Затем вводятся 2, 3, 4 это наши буквы/символы/цифры.
И на выходе программа выдаёт :
234
243
342
324
423
432
Заране спасибо.
10 года
назад
от
Вспомнить Всё
12.5 80
1 ответ
▲
▼
0
голосов
Простейший рекурсивный алгоритм:
Если на вход подпрограммы подана пустая строка - выводим перевод строки и выходим из подпрограммы.
Если на вход подпрограммы подана не пустая строка: в цикле выводим очередной символ этой строки, а исходную строку без этого символа рекурсивно подаем на вход этой же подпрограммы.
Т. е. F ("abc") выдаст: "a", F ("bc") , "b", F ("ac") , "c", F ("ab") .
F ("bc") выдаст: "b", F ("c") , "c", F ("b") .
F ("c") выдаст: "c", F ("") .
F ("") выдаст перевод строки.
И т. д.
Получим:
abc
acb
bac
bca
cab
cba
10 года
назад
от
Шакир Бармаков
арбитражный суд воронежской области адвокат
Связанные вопросы
2
ответов
Почему происходит Эффект джанибекова?
7 года
назад
от
опа а вот и ?опа
1
ответ
Как снять ручку с паяльника эпсн 40 Вт (ручка пластиковая)
3 года
назад
от
Дюжева Екатерина
1
ответ
В какой местности произошла битва при Kалке? почему это событие отмечено на карте чёрным цветом?
9 года
назад
от
Василий