Пусть
- это
A340251, индекс бита который был инвертирован в
A340250 для получения
A340250.
Также пусть
и
Здесь
- это
-й справа бит в двоичном представлении
.
Введем трансформацию для
, такую, что мы начинаем с
и далее присваиваем
для
. Вот простейшая программка на PARI для этого:
Код:
b(n)=my(A=n); for(i=0, logint(n, 2)-1, A+=2^i*bittest(A, logint(n, 2)-i)); A
Тогда последовательность, возвращающая результат трансформации - это
.
Пусть
Гипотеза: если разбить последовательность
на блоки с длинами
, то каждый блок содержит числа от
до
.
Если для каждого такого блока взять обратную перестановку и совместить все блоки опять в последовательность, то мы получим
.
Гипотеза:
.
Проверить можно так:
Код:
b(n)=my(A=n); for(i=0, logint(n, 2)-1, A+=2^i*bittest(A, logint(n, 2)-i)); A
c(n)=(b(2*n) - 2*n + 1)/2
for(i=0, 8, z=2^i+1; for(j=1, 2^i, while(!(c(z)==j), z++); print1(logint(z-2^i, 2), ", "); z=2^i+1); );
Или вот так:
Код:
b(n)=my(A=n); for(i=0, logint(n, 2)-1, A+=2^i*bittest(A, logint(n, 2)-i)); A
c(n)=(b(2*n) - 2*n + 1)/2
n=9
v=vector(2^n,i,0)
for(i=0, n-1, for(j=1, 2^i, v[2^i+c(2^i+j)]=logint(j, 2)))
print(v)
Можно ли как-нибудь доказать эти гипотезы (или хотя бы одну из них)?