A047949 a(n) is the largest m such that n-m and n+m are both primes, or -1 if no such m exists.
0, 0, 1, 2, 1, 4, 5, 4, 7, 8, 7, 10, 9, 8, 13, 14, 13, 12, 17, 16, 19, 20, 19, 22, 21, 20, 25, 24, 23, 28, 29, 28, 27, 32, 31, 34, 35, 34, 33, 38, 37, 40, 39, 38, 43, 42, 41, 30, 47, 46, 49, 50, 49, 52, 53, 52, 55, 54, 53, 48, 51, 50, 45, 62, 61, 64, 63, 62, 67, 68, 67, 66
Offset: 2
Examples
49-30=19 and 49+30=79 are primes, so a(49)=30.
Links
- T. D. Noe, Table of n, a(n) for n = 2..10000
- OEIS (Plot 2), A067076 vs A098090 (n-m=3). - _Jason Kimberley_, Oct 01 2012
Programs
-
Haskell
a047949 n = if null qs then -1 else head qs where qs = [m | m <- [n, n-1 .. 0], a010051' (n+m) == 1, a010051' (n-m) == 1] -- Reinhard Zumkeller, Nov 02 2015
-
Maple
a:= proc(n) local k; for k from n - 1 to 0 by -2 do if isprime(n+k) and isprime(n-k) then return(k) fi od: -1 end proc: 0, seq(a(n),n=3..1000); # Robert Israel, Apr 16 2015
-
Mathematica
a[2] = a[3] = 0; a[n_] := (For[m = n - 2, m >= 0, m--, If[PrimeQ[n - m] && PrimeQ[n + m], Break[]]]; m); Table[a[n], {n, 2, 100}] (* Jean-François Alcover, Sep 04 2013 *) lm[n_]:=Module[{m=n-2},While[!AllTrue[n+{m,-m},PrimeQ],m--];m]; Join[{0,0}, Array[ lm,70,4]] (* The program uses the AllTrue function from Mathematica version 10 *) (* Harvey P. Dale, Dec 03 2014 *) f[n_] := Block[{q = 2}, While[q <= n && !PrimeQ[2n -q], q = NextPrime@ q]; n - q]; Array[f, 72, 2] (* Robert G. Wilson v, Jun 18 2018 *)
-
PARI
a(n) = {if (n==2 || n==3, return (0)); my(m = 1, lastm = -1, do = 1); while (do, if (isprime(n-m) && isprime(n+m), lastm = m); m++; if (m == n - 1, do = 0);); return (lastm);} \\ Michel Marcus, Jun 09 2013
-
PARI
a(n)=if(n<4,0,forprime(p=3,n-1,if(isprime(2*n-p),return(n-p)));-1) \\ Ralf Stephan, Dec 29 2013
Formula
a(n) = n - A020481(n).
Extensions
Corrected by Harvey P. Dale, Dec 21 2000
Comments