login
A234612
Self-inverse permutation of nonnegative integers, "blue-gray" code: a(n) = A003188(A193231(n)).
7
0, 1, 2, 3, 7, 6, 5, 4, 8, 9, 10, 11, 15, 14, 13, 12, 25, 24, 27, 26, 30, 31, 28, 29, 17, 16, 19, 18, 22, 23, 20, 21, 42, 43, 40, 41, 45, 44, 47, 46, 34, 35, 32, 33, 37, 36, 39, 38, 51, 50, 49, 48, 52, 53, 54, 55, 59, 58, 57, 56, 60, 61, 62, 63, 127, 126, 125
OFFSET
0,3
LINKS
Joerg Arndt, Matters Computational (The Fxtbook), section 1.19 "Invertible transforms on words", pp. 49--55 [Cf. especially the identity 1.19-9d: gB = Bg^{-1} given on page 53].
FORMULA
a(n) = A003188(A193231(n)).
a(n) = A193231(A006068(n)).
a(n) = A193231(A234613(A193231(n))).
PROG
(Scheme)
(define (A234612 n) (A003188 (A193231 n)))
(define (A234612v2 n) (A193231 (A006068 n))) ;; Alternative 2.
(Python)
def a065621(n): return n^(2*(n - (n&-n)))
def a048724(n): return n^(2*n)
def a003188(n): return n^(n>>1)
def a193231(n):
if n<2: return n
if n%2==0: return a048724(a193231(n/2))
else: return a065621(1 + a193231((n - 1)/2))
def a(n): return n if n<2 else a003188(a193231(n)) # Indranil Ghosh, Jun 05 2017
KEYWORD
nonn
AUTHOR
Antti Karttunen, Dec 28 2013
STATUS
approved