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.

Original entry on oeis.org

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
Offset: 0

Views

Author

Reinhard Zumkeller, Aug 14 2003

Keywords

Comments

The following four statements are equivalent: a(n) = 0; n = 2^k - 1 for some k; A087117(n) = 0; A023416(n) = 0.

Examples

			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 + ...
		

Crossrefs

Essentially the same as A033264.

Programs

  • 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
    -- Reinhard Zumkeller, Mar 31 2015
    
  • Mathematica
    a[n_] := SequenceCount[IntegerDigits[n, 2], {Longest[0..]}];
    Table[a[n], {n, 0, 101}] (* Jean-François Alcover, Oct 18 2021 *)
  • PARI
    a(n) = if (n == 0, 1, hammingweight(bitxor(n, n>>1)) >> 1);
    vector(102, i, a(i-1))  \\ Gheorghe Coserea, Sep 17 2015
    
  • Python
    def A087116(n):
        return sum(1 for d in bin(n)[2:].split('1') if len(d)) # Chai Wah Wu, Nov 04 2016

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
a(n) = A069010(A003817(n)-n) for n > 0. - Chai Wah Wu, Nov 04 2016