login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A130911
a(n) is the number of primes with odd binary weight among the first n primes minus the number with an even binary weight.
6
1, 0, -1, 0, 1, 2, 1, 2, 1, 0, 1, 2, 3, 2, 3, 2, 3, 4, 5, 4, 5, 6, 5, 4, 5, 4, 5, 6, 7, 6, 7, 8, 9, 8, 7, 8, 9, 8, 9, 10, 11, 12, 13, 14, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 21, 20, 19, 20, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 17, 16, 15, 14, 15, 14, 15, 14, 13, 14, 13, 14, 15, 16, 17, 18, 19, 20, 19, 20, 19, 20, 19, 18, 19, 20, 21, 20, 19
OFFSET
1,6
COMMENTS
Prime race between evil primes (A027699) and odious primes (A027697).
Shevelev conjectures that a(n) >= 0 for n > 3. Surprisingly, the conjecture also appears to be true if we count zeros instead of ones in the binary representation of prime numbers.
The conjecture is true for primes up to at least 10^13. Mauduit and Rivat prove that half of all primes are evil. - T. D. Noe, Feb 09 2009
LINKS
Christian Mauduit and Joël Rivat, Sur un problème de Gelfond: la somme des chiffres des nombres premiers, Annals Math., 171 (2010), 1591-1646.
Vladimir Shevelev, A conjecture on primes and a step towards justification, arXiv:0706.0786 [math.NT], 2007.
Vladimir Shevelev, On excess of odious primes, arXiv:0707.1761 [math.NT], 2007.
FORMULA
a(n) = (number of odious primes <= prime(n)) - (number of evil primes <= prime(n)).
a(n) = A200247(n) - A200246(n).
MATHEMATICA
cnt=0; Table[p=Prime[n]; If[EvenQ[Count[IntegerDigits[p, 2], 1]], cnt--, cnt++ ]; cnt, {n, 10000}]
Accumulate[If[OddQ[DigitCount[#, 2, 1]], 1, -1]&/@Prime[Range[100]]] (* Harvey P. Dale, Aug 09 2013 *)
PROG
(PARI)f(p)={v=binary(p); s=0; for(k=1, #v, if(v[k]==1, s++)); return(s%2)}; nO=0; nE=0; forprime(p=2, 520, if(f(p), nO++, nE++); an=nO-nE; print1(an, ", ")) \\ Washington Bomfim, Jan 14 2011
(Python)
from sympy import nextprime
from itertools import islice
def agen():
p, evod = 2, [0, 1]
while True:
yield evod[1] - evod[0]
p = nextprime(p); evod[bin(p).count('1')%2] += 1
print(list(islice(agen(), 97))) # Michael S. Branicky, Dec 21 2021
CROSSREFS
Cf. A156549 (race between primes having an odd/even number of zeros in binary).
Sequence in context: A272677 A367739 A165579 * A319300 A118829 A118832
KEYWORD
nice,sign,base
AUTHOR
T. D. Noe, Jun 08 2007
EXTENSIONS
Edited by N. J. A. Sloane, Nov 16 2011
STATUS
approved