Как найти закономерность ряда?

Например мне нужно найти все числа, у которых в двоичном представлении 2 единицы не стоят рядом.
например для 3 битов
000
001
010
100
101
эти числа в десятичном формате: 0 1 2 4 5, для 4 битов эти числа останутся же и можно ли продолжить математически этот ряд?
6 года назад от Ketrin Stark

1 ответ



0 голосов
Бр.
Что-то ум за разум.
В общем, это через сдвиг и добавление 0 и 1
Если на прошлом шаге добавляли 1, то на этом - не добавляем.
0000 - начало
0001 - добавили 1
0010 - сдвинули и добавили 0
0100 - сдвинули и добавили 0
0101 - добавили 1
1010 - сдвинули и добавили 0
.
Впрочем, тут просматривается рекурсия. 0100 должен породить отдельную ветку 01000 01001 и т. д.
6 года назад от edellveys

Связанные вопросы