

A300948


a(1) = 2, a(2) = 1, and for any n > 2 with binary expansion Sum_{i=0..k} b_i * 2^i, a(n) = Sum_{i=0..k} b_i * 2^(a(i+1)1).


3



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



OFFSET

1,1


COMMENTS

More informally, in binary, the a(k)th bit of a(n) is set iff the kth bit of n is set (where the least significant bit has index 1).
For any k >= 0, the restriction of this sequence to the first A007013(k) terms is a selfinverse permutation preserving the Hamming weight; this property can be proven by induction.
This sequence is a selfinverse permutation of the natural numbers.
This sequence has infinitely many fixed points (A300950); for any k >= 0, at least one of 2^k or 2^k + a(2^k) is a fixed point.


LINKS



FORMULA

a(a(n)) = n.


EXAMPLE

a(3) = a(2^1 + 2^0) = 2^(a(2)1) + 2^(a(1)1) = 2^0 + 2^1 = 3.
a(4) = a(2^2) = 2^(a(3)1) = 2^2 = 4.
a(6) = a(2^2 + 2^1) = 2^(a(3)1) + 2^(a(2)1) = 2^2 + 2^0 = 5.
a(42) = a(2^5 + 2^3 + 2^1) = 2^(a(6)1) + 2^(a(4)1) + 2^(a(2)1) = 2^4 + 2^3 + 2^0 = 25.


MATHEMATICA

a[1] = 2; a[2] = 1; a[n_] := a[n] = With[{b = IntegerDigits[n, 2] // Reverse}, Sum[If[b[[i]] == 1, 2^(a[i]1), 0], {i, Length[b]}]]; Array[a, 100] (* JeanFrançois Alcover, Mar 17 2018 *)


PROG

(PARI) a(n) = if (n==1, 2, n==2, 1, my (b=Vecrev(binary(n))); sum(i=1, #b, if (b[i], 2^(a(i)1), 0)))


CROSSREFS



KEYWORD

nonn,base


AUTHOR



STATUS

approved



