%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