Reminder: The OEIS is hiring a new managing editor, and the application deadline is January 26.
%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