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.

A304111 Partial sums of f(n) = (-1)^(1-A304109(n)).

Original entry on oeis.org

0, 1, 2, 3, 2, 1, 2, 3, 2, 3, 2, 3, 2, 3, 4, 3, 2, 1, 2, 3, 2, 1, 2, 3, 2, 3, 4, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 4, 3, 2, 3, 2, 3, 2, 1, 2, 3, 2, 3, 4, 3, 2, 3, 2, 3, 2, 1, 2, 3, 2, 3, 4, 3, 2, 1, 2, 3, 2, 1, 2, 3, 2, 3, 4, 3, 2, 3, 2, 3, 2, 1, 2, 3, 2, 1, 2, 3, 2, 3, 2, 3, 2, 3, 4, 3, 2, 3, 4, 3, 2, 3, 2, 3, 2, 1, 2, 1, 0, 1, 2, 3, 2, 3, 2, 3, 2, 3, 4, 3, 2
Offset: 0

Views

Author

Antti Karttunen, May 13 2018

Keywords

Comments

Start from the initial value a(0) = 0, after which, for n > 0, each successive term a(n) is either one more or one less than the previous term a(n-1), depending on whether the binary expansion of n encodes a squarefree (0,1)-polynomial when the factorization is done in polynomial ring GF(2)[X], or whether it encodes a polynomial where at least one of its irreducible divisors occurs more than once.
The first negative term occurs as a(153) = -1. See also comments at A304010.

Crossrefs

Programs

  • PARI
    up_to = 128;
    A304109(n) = { my(fm=factor(Pol(binary(n))*Mod(1, 2))); for(k=1, #fm~, if(fm[k, 2] > 1, return(0))); (1); };
    prepare_v304110(up_to) = { my(v=vector(up_to), c=0); for(n=1, up_to, c += A304109(n); v[n] = c); (v); };
    v304110 = prepare_v304110(up_to);
    A304110(n) = v304110[n];
    A304111(n) = ((2*A304110(n)) - n);
    \\ Or just as:
    c=0; for(n=0, up_to, if(n>0, c+=((-1)^(1-A304109(n)))); print1(c, ", "));

Formula

a(0) = 0, and for n > 0, a(n) = a(n-1) + (-1)^(1-A304109(n)).
For n >= 1, a(n) = (2*A304110(n)) - n.