login
Rotate n one binary digit to the right, drop leading zeros, then rotate one binary digit to the left.
2

%I #32 Jan 16 2024 13:08:44

%S 1,1,3,1,5,3,7,1,9,3,11,5,13,7,15,1,17,3,19,5,21,7,23,9,25,11,27,13,

%T 29,15,31,1,33,3,35,5,37,7,39,9,41,11,43,13,45,15,47,17,49,19,51,21,

%U 53,23,55,25,57,27,59,29,61,31,63,1

%N Rotate n one binary digit to the right, drop leading zeros, then rotate one binary digit to the left.

%H Jason Yuen, <a href="/A053641/b053641.txt">Table of n, a(n) for n = 1..10000</a>

%F a(n) = A006257(A038572(n)).

%F a(n) = n if n odd, n - 2^k + 1 if n even and 2^k <= n < 2^(k+1).

%e a(60) = 29 because starting with 111100 the right rotation produces 011110, written as 11110 (i.e., 30) and the left rotation produces 11101 (i.e., 29).

%t rtt[f_, n_] := FromDigits[f[IntegerDigits[n, 2]], 2];

%t Array[rtt[RotateLeft, rtt[RotateRight, #]]&, 100] (* _Paolo Xausa_, Jan 16 2024 *)

%o (PARI) a(n) = if(bitand(n,1), n, n+1 - 1<<logint(n,2)); \\ _Kevin Ryde_, Jan 13 2024

%Y Cf. A006257, A038572.

%Y Cf. A053642 (left then right).

%K nonn,base,easy

%O 1,3

%A _Henry Bottomley_, Mar 22 2000