

A153142


Permutation of nonnegative integers: A059893conjugate of A153152.


18



0, 1, 3, 2, 6, 7, 5, 4, 12, 13, 14, 15, 10, 11, 9, 8, 24, 25, 26, 27, 28, 29, 30, 31, 20, 21, 22, 23, 18, 19, 17, 16, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 40, 41, 42, 43, 44, 45, 46, 47, 36, 37, 38, 39, 34, 35, 33, 32, 96, 97, 98, 99, 100, 101, 102
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

0,3


COMMENTS

This sequence can be also obtained by starting complementing n's binary expansion from the second most significant bit, continuing towards lsbend until the first 0bit is reached, which is the last bit to be complemented.


LINKS

A. Karttunen, Table of n, a(n) for n = 0..2047
Index entries for sequences that are permutations of the natural numbers


EXAMPLE

29 = 11101 in binary. By complementing bits in (zerobased) positions 3, 2 and 1 we get 10011 in binary, which is 19 in decimal, thus a(29)=19.


PROG

(MIT Scheme:) (define (a153142 n) (if (< n 2) n (let loop ((maskbit (a072376 n)) (z n)) (cond ((zero? maskbit) z) ((zero? (modulo (floor>exact (/ n maskbit)) 2)) (+ z maskbit)) (else (loop (floor>exact (/ maskbit 2)) ( z maskbit)))))))
(Python)
def ok(n): return n&(n  1)==0
def a153152(n): return n if n<2 else (n + 1)/2 if ok(n + 1) else n + 1
def A(n): return (int(bin(n)[2:][::1], 2)  1)/2
def msb(n): return n if n<3 else msb(n/2)*2
def a059893(n): return A(n) + msb(n)
def a(n): return 0 if n==0 else a059893(a153152(a059893(n))) # Indranil Ghosh, Jun 09 2017


CROSSREFS

Inverse: A153141. a(n) = A059893(A153152(A059893(n))) = A059894(A153151(A059894(n))). Differs from A003188 for the first time at n=10, where a(10)=14 while A003188(10)=15. Cf. also A072376. Corresponds to A069768 in the group of Catalan bijections.
Sequence in context: A304084 A276442 A233275 * A154447 A003188 A269401
Adjacent sequences: A153139 A153140 A153141 * A153143 A153144 A153145


KEYWORD

nonn,base


AUTHOR

Antti Karttunen, Dec 20 2008


STATUS

approved



