|
|
A044903
|
|
Base-2 run lengths alternate: odd, even, odd, ...
|
|
0
|
|
|
1, 4, 7, 9, 16, 28, 31, 33, 36, 39, 57, 64, 73, 112, 124, 127, 129, 132, 135, 144, 156, 159, 225, 228, 231, 249, 256, 265, 289, 292, 295, 313, 448, 457, 496, 508, 511, 513, 516, 519, 528, 540, 543, 576, 585, 624, 636, 639, 897, 900
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,2
|
|
COMMENTS
|
Also the indices of the compositions whose parts alternate: odd, even, odd, ... . For the definition of the index of a composition see A298644.
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)
|
|
LINKS
|
|
|
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 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
|
|
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:])))
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|