OFFSET
0,3
COMMENTS
Self-inverse permutation of nonnegative integers.
LINKS
FORMULA
a(n) = b(c(f(n)) + g(n)) = b(h(c(n))) for n > 0 with a(0) = 0 where
b(n) = b(f(h(n))) + g(n) for n > 0 with b(0) = 0,
c(n) = h(c(f(n)) + g(n)) for n > 0 with c(0) = 0,
a(n) < 2^k iff n < 2^k for k >= 0.
EXAMPLE
For n = 100930, reversals are each (...) block
n = 100930 = binary 1(1000)1(0100)1(000010)
a(n) = 72016 = binary 1(0001)1(0010)1(010000)
PROG
(PARI) a(n) = my(v1); v1 = binary(n); my(A = 1); while(A <= #v1, my(B = A, C = 0, D); A++; while(A <= #v1, C += v1[A]; if(v1[A] && (C == 1), D = A); if(C < 2, A++, break)); if(C > 0, v1[D] = 0; v1[A + B - D] = 1)); fromdigits(v1, 2)
CROSSREFS
KEYWORD
nonn,base,easy
AUTHOR
Mikhail Kurkov, Nov 13 2023
STATUS
approved