OFFSET
1,1
COMMENTS
From Emeric Deutsch, Jan 27 2018: (Start)
Also the indices of the compositions whose parts alternate: even, odd, even, ... . For the definition of the index of a composition see A298644.
For example, 99 is in the sequence since its binary form is 1100011 and the composition [2,3,2] has parts: even, odd, even. 100 is not in the sequence since its binary form is 1100100 and the composition [2,2,1,2] has parts even, even, odd, even. The command c(n) from the Maple program yields the composition having index n. (End)
LINKS
Harvey P. Dale, Table of n, a(n) for n = 1..1000
MAPLE
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 1540 do if `and`(type(c(n)[1], even) = 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
MATHEMATICA
oeQ[n_]:=Module[{idsleb=Boole[EvenQ/@(Length/@Split[IntegerDigits[ n, 2]])]}, idsleb == PadRight[{}, Length[idsleb], {1, 0}]]; Select[ Range[ 1600], oeQ] (* Harvey P. Dale, Sep 04 2020 *)
PROG
(Python)
from itertools import groupby
def ok(n): return all(len(list(g))%2 == i%2 for i, (k, g) in enumerate(groupby(bin(n)[2:])))
print([i for i in range(1, 1537) if ok(i)]) # Michael S. Branicky, Jan 04 2021
CROSSREFS
KEYWORD
nonn,base
AUTHOR
STATUS
approved