Алгоритм получения сочетаний.

обучение алгоритмизация

Есть набор, скажем, букв. Необхдимо поулчить список всех возможных их комбинаций, при этом:
1. В некоторой комбинации не имеет значения порядок следования букв, т.е. AB == BA
2. Не обязательно, что бы все буквы входили в комбинации.
Пример: даны буквы AB
Результатом дожен являться список: A,B,AB.

Примечание:
P.S. Не важно на каком языке, пусть даже на русском, или в псевдо-коде, или в блок-схеме :-)

Примечание:
Нет не понятна. В счетчике возможно значение 100, как видно из примера значений AA и BB нет. Повторять буквы нельзя.

Примечание:
>а жалко,
жалко у пчелки.. ;-) пишите по делу.

Примечание:
>Так это же просто цикл ...
Опять не совсем понял. Пусть даны 0 и 1. Бинарная система счисления, основание 2.Предлагаешь цикл от 1 до 2^2-1? ну допусти не от 1, а от 0, тогда получим:
0, 1, 10, 11.
11 не разрешается использовать.
Ответы:
надеюсь эта статейка поможет:
Так это же просто цикл от 1 до ( (2 в степени количество разных букв) - 1), где счётчик записан в системе счисления с основанием (количество разных букв), ну и вместо циферек, соответственно, буквы.
Так, мысль у меня изначально правильная была, пока писал - получилась какая-то лажа.
Нужен цикл от 1 до 2^(количество букв) - 1.
На каждом шаге берём двоичную запись числа.
Если у него в каком-то разряде 1, то соответствующую букву бурём.


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.