A367307 Reverse bits in blocks in binary expansion of n where blocks are separated by every second 1 bit starting from the most significant 1 bit as the first separator.
0, 1, 2, 3, 4, 6, 5, 7, 8, 12, 10, 13, 9, 11, 14, 15, 16, 24, 20, 25, 18, 21, 26, 27, 17, 19, 22, 23, 28, 30, 29, 31, 32, 48, 40, 49, 36, 41, 50, 51, 34, 37, 42, 43, 52, 54, 53, 55, 33, 35, 38, 39, 44, 46, 45, 47, 56, 60, 58, 61, 57, 59, 62, 63, 64, 96, 80, 97
Offset: 0
Examples
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)
Links
Programs
-
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)
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.
Comments