Возможный дубликат:
Создание несколько чисел с определенным количеством битов
Я пытаюсь написать код, который будет помещать каждую возможную комбинацию чисел в массив, сдвигая биты.
Например, я хотел найти все возможные комбинации из 3 бит (где максимальная цифра может быть 6), массив должен содержать:
000111 001011 001101 001110 010011 010101 010110 011001 011010 011100 100011
И так далее...
Из того, что я интерпретировал, когда последний бит позиции равен 1, мы сдвигаем число на 1 (x >> 1) и добавляем 1 в начале. Однако я не уверен, как кодировать остальные. Я использую C, чтобы написать это.
Кроме того, насколько я могу судить, это последовательность колекса, однако я все уши, если есть другая последовательность, которая даст мне тот же конечный результат (массив со всеми возможными комбинациями k-битов с ограничением N) .