cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A087116 Number of maximal groups of consecutive zeros in binary representation of n.

This page as a plain text file.
%I A087116 #38 Oct 18 2021 13:12:02
%S A087116 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,
%T A087116 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,
%U A087116 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
%N A087116 Number of maximal groups of consecutive zeros in binary representation of n.
%C A087116 The following four statements are equivalent: a(n) = 0; n = 2^k - 1 for some k; A087117(n) = 0; A023416(n) = 0.
%H A087116 Reinhard Zumkeller, <a href="/A087116/b087116.txt">Table of n, a(n) for n = 0..10000</a>
%H A087116 <a href="/index/Bi#binary">Index entries for sequences related to binary expansion of n</a>
%F A087116 a(n) = A033264(n) for n > 0 since strings of 0's alternate with strings of 1's. - _Jonathan Sondow_, Jan 17 2016
%F A087116 a(n) = a(2*n + 1) = a(4*n + 2) - 1, if n > 0. - _Michael Somos_, Nov 04 2016
%F A087116 a(n) = A069010(A003817(n)-n) for n > 0. - _Chai Wah Wu_, Nov 04 2016
%e A087116 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 + ...
%t A087116 a[n_] := SequenceCount[IntegerDigits[n, 2], {Longest[0..]}];
%t A087116 Table[a[n], {n, 0, 101}] (* _Jean-François Alcover_, Oct 18 2021 *)
%o A087116 (Haskell)
%o A087116 a087116 0 = 1
%o A087116 a087116 n = f 0 n where
%o A087116    f y 0 = y
%o A087116    f y x = if r == 0 then g x' else f y x'
%o A087116            where (x', r) = divMod x 2
%o A087116                  g z = if r == 0 then g z' else f (y + 1) z'
%o A087116                        where (z', r) = divMod z 2
%o A087116 -- _Reinhard Zumkeller_, Mar 31 2015
%o A087116 (PARI)
%o A087116 a(n) = if (n == 0, 1, hammingweight(bitxor(n, n>>1)) >> 1);
%o A087116 vector(102, i, a(i-1))  \\ _Gheorghe Coserea_, Sep 17 2015
%o A087116 (Python)
%o A087116 def A087116(n):
%o A087116     return sum(1 for d in bin(n)[2:].split('1') if len(d)) # _Chai Wah Wu_, Nov 04 2016
%Y A087116 Cf. A087118, A087119, A087120, A023416, A007088.
%Y A087116 Cf. A023416, A087117.
%Y A087116 Cf. A033264, A003817, A069010.
%Y A087116 Essentially the same as A033264.
%K A087116 nonn
%O A087116 0,11
%A A087116 _Reinhard Zumkeller_, Aug 14 2003