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.

A091991 Minimal number of 1's that must be inserted into the binary representation of n to get a prime.

Original entry on oeis.org

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

Views

Author

Reinhard Zumkeller, Mar 17 2004

Keywords

Comments

Insertion here means that the new 1-bit must come somewhere right of the most significant 1-bit. - Antti Karttunen, Dec 15 2017

Examples

			n = 25->'11001': A000040(16)=53->'110[1]01', therefore a(25)=1;
a(255)=a(2^8-1)=5, as 2^(8+5)-1=8191 is a Mersenne prime and 2^(8+i)-1 is not prime for i<5.
		

Crossrefs

Programs

  • PARI
    insert1bit(n,pos) = (((n>>pos)<<(1+pos))+(1<>=1;k++); k; };
    A091991(n) = { if(1==n,return(1)); if(isprime(n),return(0)); if(!(n%2),return(1+A091991(1+n+n))); my(k,nexttries,prevtries = Set([n]), w = binwidth(n)-1); for(b=1,oo,nexttries = Set([]); for(t=1,length(prevtries), h = prevtries[t]; for(i=1,w,if(isprime(k=insert1bit(h,i)),return(b),nexttries = setunion(Set([k]),nexttries)))); prevtries = nexttries; w++);};
    \\ Antti Karttunen, Dec 15 2017

Formula

a(2*n) = a(4*n+1) + 1.
a(A005097(n)) = 1 - A010051(A005097(n)).
a(2^k)=A061712(k); a(2^k+1)=A061712(k-1)*(1-A010051(2^k+1));
a(2^k-1) = A000043(m+1) - k for A000043(m)A000043(m+1).