|
|
A087116
|
|
Number of maximal groups of consecutive zeros in binary representation of n.
|
|
15
|
|
|
1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 2, 1, 1, 1, 1, 0, 1, 1, 2, 1, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 0, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 3, 2, 2, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 0, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 3, 2, 2, 2, 2, 1, 2, 2, 3, 2, 3, 3, 3, 2, 2, 2, 3, 2, 2, 2, 2, 1, 1, 1, 2, 1, 2, 2
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,11
|
|
COMMENTS
|
The following four statements are equivalent: a(n) = 0; n = 2^k - 1 for some k; A087117(n) = 0; A023416(n) = 0.
|
|
LINKS
|
|
|
FORMULA
|
a(n) = A033264(n) for n > 0 since strings of 0's alternate with strings of 1's. - Jonathan Sondow, Jan 17 2016
a(n) = a(2*n + 1) = a(4*n + 2) - 1, if n > 0. - Michael Somos, Nov 04 2016
|
|
EXAMPLE
|
G.f. = 1 + x^2 + x^4 + x^5 + x^6 + x^8 + x^9 + 2*x^10 + x^11 + x^12 + x^13 + x^14 + ...
|
|
MATHEMATICA
|
a[n_] := SequenceCount[IntegerDigits[n, 2], {Longest[0..]}];
|
|
PROG
|
(Haskell)
a087116 0 = 1
a087116 n = f 0 n where
f y 0 = y
f y x = if r == 0 then g x' else f y x'
where (x', r) = divMod x 2
g z = if r == 0 then g z' else f (y + 1) z'
where (z', r) = divMod z 2
(PARI)
a(n) = if (n == 0, 1, hammingweight(bitxor(n, n>>1)) >> 1);
(Python)
return sum(1 for d in bin(n)[2:].split('1') if len(d)) # Chai Wah Wu, Nov 04 2016
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|