Пусть
Пусть
Здесь
это
-й справа бит в двоичном представлении
.
Пусть
это последовательность состоящая из натуральных чисел, такая, что мы начинаем с
и затем для
мы пошагово повторяем следующее:
- Если , то ; в противном случае ;
- .
Тогда
это результирующее значение
.
Например для
будем иметь:
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)
Существует ли способ это как-то доказать? Возможна ли замкнутая форма для
?