login
Smallest prime p such that p + n^2 is prime, or 0 if no such prime exists.
1

%I #24 Mar 14 2018 17:43:55

%S 2,2,3,2,3,0,5,0,3,2,3,0,5,0,3,2,7,0,7,0,19,2,3,0,11,0,7,0,3,0,7,0,7,

%T 2,7,0,5,0,3,2,7,0,13,0,13,2,13,0,5,0,3,0,3,0,11,0,31,2,7,0,7,0,3,0,3,

%U 0,7,0,13,0,3,0,5,0,3,0,3,0,5,0,73,2,13,0,13,0,37,0,13,0

%N Smallest prime p such that p + n^2 is prime, or 0 if no such prime exists.

%C a(n) = 0 if n is a member of A106571.

%H Robert Israel, <a href="/A300817/b300817.txt">Table of n, a(n) for n = 0..10000</a>

%e For n = 16:

%e 2 + 16^2 is not prime;

%e 3 + 16^2 = 7*37 is not prime;

%e 5 + 16^2 = 3*87 is not prime;

%e 7 + 16^2 = 263 is prime, therefore a(16) = 7.

%p A300817 := proc(n) local p, n2; p := 2; n2 := n^2;

%p if irem(n2, 2) = 1 and numtheory:-invphi(n2+1) = [] then return 0 fi;

%p do if isprime(p + n2) then return p fi; p := nextprime(p) od;

%p end: seq(A300817(n), n = 0..89); # _Peter Luschny_, Mar 13 2018

%t a[n_] := Block[{p=2}, If[OddQ[n], If[PrimeQ[n^2 + 2], 2, 0], While[! PrimeQ[n^2 + p], p = NextPrime[p]]; p]]; a /@ Range[0, 89] (* _Giovanni Resta_, Mar 13 2018 *)

%o (Julia)

%o using Primes

%o function A300817(n) p, q = 2, n * n

%o n % 2 == 1 && return isprime(p + q) ? 2 : 0

%o while !isprime(p + q) p = nextprime(p + 1) end

%o p end

%o [A300817(n) for n in 0:89] |> println # _Peter Luschny_, Mar 13 2018

%o (Python)

%o from sympy import nextprime, isprime

%o def A300817(n):

%o p, n2 = 2, n**2

%o if n % 2:

%o return 2 if isprime(2+n2) else 0

%o while not isprime(p+n2):

%o p = nextprime(p)

%o return p # _Chai Wah Wu_, Mar 14 2018

%o (PARI) A300817(n)={if(bittest(n,0), n=n^2; forprime(p=2,, isprime(2+n)&&return(p)), isprime(2+n^2)*2)} \\ _M. F. Hasler_, Mar 14 2018

%Y Cf. A087242: smallest prime p such that p + n is prime.

%Y Cf. A174960: smallest prime p such that p + n*(n+1)/2 is prime.

%Y Cf. A106571.

%K nonn

%O 0,1

%A _Bruno Berselli_, Mar 13 2018