login

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

Base-2 run lengths alternate: odd, even, odd, ...
0

%I #17 Jan 04 2021 04:05:22

%S 1,4,7,9,16,28,31,33,36,39,57,64,73,112,124,127,129,132,135,144,156,

%T 159,225,228,231,249,256,265,289,292,295,313,448,457,496,508,511,513,

%U 516,519,528,540,543,576,585,624,636,639,897,900

%N Base-2 run lengths alternate: odd, even, odd, ...

%C From _Emeric Deutsch_, Jan 27 2018: (Start)

%C Also the indices of the compositions whose parts alternate: odd, even, odd, ... . For the definition of the index of a composition see A298644.

%C For example, 57 is in the sequence since its binary form is 111001 and the composition [3,2,1] has parts: odd, even, odd. 59 is not in the sequence since its binary form is 111011 and the composition [3,1,2] has parts: odd, odd, even. The command c(n) from the Maple program yields the composition having index n. (End)

%p Runs := proc (L) local j, r, i, k: j := 1: r[j] := L[1]: for i from 2 to nops(L) do if L[i] = L[i-1] then r[j] := r[j], L[i] else j := j+1: r[j] := L[i] end if end do: [seq([r[k]], k = 1 .. j)] end proc: RunLengths := proc (L) map(nops, Runs(L)) end proc: c := proc (n) ListTools:-Reverse(convert(n, base, 2)): RunLengths(%) end proc: A := {}: for n to 900 do if `and`(type(c(n)[1], odd) = true, type(product(c(n)[j]-c(n)[j+1], j = 1 .. nops(c(n))-1), odd)) then A := `union`(A, {n}) else end if end do: A; # most of the Maple program is due to _W. Edwin Clark_. # _Emeric Deutsch_, Jan 27 2018

%o (Python)

%o from itertools import groupby

%o def ok(n): return all(len(list(g))%2 != i%2 for i, (k, g) in enumerate(groupby(bin(n)[2:])))

%o print([i for i in range(1, 901) if ok(i)]) # _Michael S. Branicky_, Jan 04 2021

%Y Cf. A298644, A101211.

%K nonn,base

%O 1,2

%A _Clark Kimberling_