A153142 Permutation of nonnegative integers: A059893-conjugate of A153152.
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
Offset: 0
Examples
29 = 11101 in binary. By complementing bits in (zero-based) positions 3, 2 and 1 we get 10011 in binary, which is 19 in decimal, thus a(29)=19.
Links
Crossrefs
Programs
-
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
-
R
maxlevel <- 5 # by choice a <- 1 for(m in 1:maxlevel){ a[2^(m+1) - 1] <- 2^m a[2^(m+1) - 2] <- 2^m + 1 for (k in 0:(2^m-2)){ a[2^(m+1) + 2*k ] <- 2*a[2^m + k] a[2^(m+1) + 2*k + 1] <- 2*a[2^m + k] + 1} } a <- c(0, a) # Yosu Yurramendi, Aug 30 2020
Comments