Умные вопросы
Войти
Регистрация
Комбинаторика. Существует ли алгоритм, который при неизвестном количестве символов создает из них все комбинации?
Существует ли такой алгоритм, который на вход получает несколько символов/букв записывает все возможные комбинации, при условии, что количество символов неизвестно?
Пример: вводим цифру 3. Она означает, что будут введены 3 символа. Затем вводятся 2, 3, 4 это наши буквы/символы/цифры.
И на выходе программа выдаёт :
234
243
342
324
423
432
Заране спасибо.
9 года
назад
от
Вспомнить Всё
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
9 года
назад
от
Шакир Бармаков
арбитражный суд воронежской области адвокат
Связанные вопросы
1
ответ
Капитально и генерально это слова синонимы?
3 года
назад
от
Татьяна Смирнова
3
ответов
Почему Русский язык кажется таким медленным, а иностранные быстрыми?
1 год
назад
от
Стив
1
ответ
Можно ли подключить проводные наушники к беспроводной клавиатуре?
1 год
назад
от
{Strawberry}