login

Reminder: The OEIS is hiring a new managing editor, and the application deadline is January 26.

a(n) is the maximum number of consecutive bit changes in the binary representation of n.
3

%I #23 Jul 07 2024 17:39:32

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

%T 1,2,3,1,1,3,3,5,4,2,2,2,2,1,1,2,1,3,4,2,2,1,1,3,2,1,2,1,0,1,1,2,1,2,

%U 3,1,1,2,2,4,3,1,2,1,1,3,3,3,3,5,6,4,4,2,2,3,2,2,2,2,2,1,1,2,1,2,3,1,1,3,3

%N a(n) is the maximum number of consecutive bit changes in the binary representation of n.

%H Hugo Pfoertner, <a href="/A374176/b374176.txt">Table of n, a(n) for n = 1..8192</a>

%F a(n) = A038374(A038554(n)), with A038374(0) = 0. - _Michael S. Branicky_, Jul 06 2024

%e a(1117) = 3:

%e 1117_2 = [1 0 0 0 1 0 1 1 1 0 1]

%e ^ ^ ^ ^ ^ ^

%e 1 3 2

%e consecutive changes

%p b:= n-> `if`(n<2, [0$2], (f-> (t-> [t, max(t, f[2])])(

%p `if`(n mod 4 in {0, 3}, 0, f[1]+1)))(b(iquo(n, 2)))):

%p a:= n-> b(n)[2]:

%p seq(a(n), n=1..105); # _Alois P. Heinz_, Jul 07 2024

%o (PARI) a(n) = {my(b=digits(n,2), d=#b, m=0, j=b[1], c=0); for(k=2, d, if(b[k]!=j, c++; m=max(m,c), c=0); j=b[k]); m}

%o (Python)

%o def a(n):

%o b, c, m = bin(n)[2:], 0, 0

%o for i in range(len(b)-1):

%o if b[i] != b[i+1]: c += 1

%o else: m = max(m, c); c = 0

%o return max(m, c)

%o print([a(n) for n in range(1, 89)]) # _Michael S. Branicky_, Jul 06 2024

%o (Python) # using formula

%o from itertools import groupby

%o def a(n): return max((len(list(g)) for k, g in groupby(bin(n^(n>>1))[3:]) if k=="1"), default=0)

%o print([a(n) for n in range(1, 89)]) # _Michael S. Branicky_, Jul 06 2024

%Y Cf. A005811, A037834, A038554, A038374.

%Y Cf. A000975 (index of first occurrence of n).

%K nonn,base

%O 1,5

%A _Hugo Pfoertner_, Jul 05 2024