login
A051935
a(n) = smallest number > a(n-1) such that a(1) + a(2) + ... + a(n) is a prime.
7
2, 3, 6, 8, 10, 12, 18, 20, 22, 26, 30, 34, 36, 42, 44, 46, 50, 52, 60, 66, 72, 74, 76, 78, 80, 82, 102, 108, 114, 116, 118, 126, 128, 132, 136, 138, 144, 146, 150, 154, 158, 162, 166, 170, 174, 186, 196, 198, 210, 222, 228, 236, 240, 244, 246, 254, 270, 280, 282
OFFSET
1,1
LINKS
David A. Corneth, Table of n, a(n) for n = 1..10000 (first 2000 terms from T. D. Noe)
Code Golf StackExchange, Compute the minimum a(n)>a(n-1) such that a(1)+a(2)+ ... +a(n) is prime, coding challenge started Aug 17 2018.
EXAMPLE
The third term is 6 because 2 + 3 + 6 = 11 is a prime.
MATHEMATICA
p=2; lst={p}; Do[If[PrimeQ[p+n], AppendTo[lst, n]; p=p+n], {n, 3, 10^3}]; lst (* Vladimir Joseph Stephan Orlovsky, Aug 14 2008 *)
nxt[{t_, a_}]:=Module[{k=a+1}, While[!PrimeQ[t+k], k++]; {t+k, k}]; Transpose[ NestList[ nxt, {2, 2}, 60]][[2]] (* Harvey P. Dale, Apr 10 2016 *)
nxt[{t_, a_}]:=Module[{k=a+1}, k=NextPrime[t+k-1]-t; {t+k, k}]; NestList[ nxt, {2, 2}, 60][[All, 2]] (* More efficient than the program immediately above *) (* Harvey P. Dale, Aug 26 2019 *)
PROG
(Perl) use ntheory ":all"; my($s, @L)=(2, 2); for (1..99) { push @L, next_prime($s+$L[-1])-$s; $s+=$L[-1]; } print "[@L]\n"; # Dana Jacobsen, Sep 25 2018
(PARI) first(n) = {my(res = vector(n), os = 2, ns); res[1] = 2; for(i = 2, n, ns = nextprime(os + res[i-1] + 1); res[i] = ns - os; os = ns); res} \\ David A. Corneth, Aug 26 2019
(Python)
from sympy import isprime
from itertools import islice
def agen(): # generator of terms
yield from [2, 3]
s, an = 5, 4
while True:
while not isprime(s+an): an += 2
yield an
an, s = an+2, s+an
print(list(islice(agen(), 60))) # Michael S. Branicky, Oct 30 2022
CROSSREFS
KEYWORD
easy,nice,nonn
AUTHOR
Felice Russo, Dec 21 1999
STATUS
approved