Пусть

Пусть

Здесь

это

-й справа бит в двоичном представлении

.
Пусть

это последовательность состоящая из натуральных чисел, такая, что мы начинаем с

и затем для

мы пошагово повторяем следующее:
- Если
, то
; в противном случае
;
.
Тогда

это результирующее значение

.
Например для

будем иметь:
1.

;
2.

,

,

;
3.

,

,

;
4.

,

,

;
5.

,

,

;
6.

,

,

.
Отсюда

.
Пусть
Гипотеза:
если
либо
;
если
либо
;
в противном случае.
Чтобы проверить данную гипотезу вы можете использовать следующую программу на PARI:
Код:
a(n) = my(A=0); for(i=0, logint(n, 2), if(bittest(n, i), A\=2, A++); A++); A
R1(n) = my(v); v=vector(n, i, sum(k=2^(n-1), 2^n-1, a(k)==i))
R(n, k) = if(k==1, 1, if(k<=n, R(n-1, k-1) + R(n-1, 2*(k-1)) + R(n-1, 2*k-1)))
R2(n) = my(v); v=vector(n, i, R(n, i))
test(n) = R1(n)==R2(n)
Существует ли способ это как-то доказать? Возможна ли замкнутая форма для

?