login
Write n in binary reflected Gray code and sum the positions where there is a '1' followed immediately to the right by a '0', counting the leftmost digit as position 1.
3

%I #12 Jan 22 2017 21:52:00

%S 0,0,1,2,0,1,1,2,2,0,3,4,1,1,1,2,2,2,6,4,0,3,3,4,4,1,5,5,1,1,1,2,2,2,

%T 7,7,2,6,6,4,4,0,5,8,3,3,3,4,4,4,9,6,1,5,5,5,5,1,6,6,1,1,1,2,2,2,8,8,

%U 2,7,7,7,7,2,8,12,6,6,6,4,4,4,10,6,0,5,5,8,8,3,9,9,3,3,3

%N Write n in binary reflected Gray code and sum the positions where there is a '1' followed immediately to the right by a '0', counting the leftmost digit as position 1.

%H Indranil Ghosh, <a href="/A281388/b281388.txt">Table of n, a(n) for n = 1..10000</a>

%F a(n) = A049501(A003188(n)).

%e For n = 11, the binary reflected Gray code for 11 is '1110'. In '1110', the position of '1' followed immediately to the right by '0' counting from left is 3. So, a(11) = 3.

%e For n = 12, the binary reflected Gray code for 12 is '1010'. In '1010', the positions of '1' followed immediately to the right by '0' counting from left are 1 and 3. So, a(12) = 1 + 3 = 4.

%o (Python)

%o def g(n):

%o ....return bin(n^(n/2))[2:]

%o def a(n):

%o ....x=g(n)

%o ....s=0

%o ....for i in range(1,len(x)):

%o ........if x[i-1]=="1" and x[i]=="0":

%o ............s+=i

%o ....return s

%Y Cf. A003188, A014550, A049501.

%K nonn,base

%O 1,4

%A _Indranil Ghosh_, Jan 21 2017