scuter писал(а):
00000000000101 - 16
00000000000110 - 17
00000000001001 - 18
00000000001010 - 19
у меня вопрос встречали ли вы такой алгоритм перебора чисел или нет,
меня интересует преобразование обычного бинарного числа в такой вид чисел
Конечно встречали. Это число сочетаний из "n" по "k". То есть все возможные варианты выбора из множества из n элементов k элементов. Сначала идёт перебор числа сочетаний из n по 1, потом из n по 2 и так далее, именно такие последовательности строк и будут получаться. Алгоритм где взять я сказать не могу, так как всегда всё пишу сам и чужим кодом не интересуюсь, но могу только сказать, что получение такой строки основано на расчёте биномиальных коэффициентов C_n^k.
Задача эта стандартная, такая же классическая как получение номера лексикографической перестановки по самой перестановке чисел и наоборот - перестановки по её номеру.
PS. Вот, было у меня 10 секунд, я нашёл это:
http://e-maxx.ru/algo/generating_combinationsЭто именно оно. Только там выводятся на строки из нулей и единиц, а позиции, на которых стоят единицы.