| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Генерация групп бинарных кодов |
| Автор: Helmet 29.10.2009, 12:55 |
| Здравствуйте. Стоит задача реализовать генерацию групп бинарных кодов заданной длины таких, что коды внутри группы будут различаться заданным количеством разрядов. Коды не должны повторяться. Т.е. если например задана длина кода 4 и кол-во отличающихся разрядов 4, то должно быть сгенерировано 8 групп по 2 кода в каждой: 0000 0001 0011 0010 0101 0100 0110 1000 1111 1110 1100 1101 1010 1011 1001 0111 Может существуют какие-либо алгоритмы, способные помочь в решении данной задачи? Или хотя бы направление для поиска? |
| Автор: dengalf 31.10.2009, 07:22 |
| По-моему самым простым(хотя далеко не рациональным) способом будет перебор: 1) первый набор - всегда 000..00, находим ему все пары 2) затем увеличиваем следующий "первый" набор на единицу (те хх...х + 00...1) 3) смотрим, чтобы не было похожих наборов, если они есть переходим к (4) иначе находим ему все пары и снова (2) 4) повторяем (2) и (3), пока общее количество наборов не станет 2^n штук Если не ошибся и правильно понял задачу, то вроде так Это если совсем глупо, а так - думаю где-то в области комбинаторики порыть |