The prime 41, can be written as the sum of six consecutive primes:
This is the longest sum of consecutive primes that adds to a prime below one-hundred.
The longest sum of consecutive primes below one-thousand that adds to a prime, contains 21 terms, and is equal to 953.
Which prime, below one-million, can be written as the sum of the most consecutive primes?
We need to answer two simple questions: With which prime do we start and how many consecutive primes do we need to add.
We built an array of sums, each time adding a new prime to the total until the total exceeded the maximum (1,000,000 in this case.) It is then a simple task to look at different sums and record the one with the most terms.
Runs < 1 second in Python.
from Euler import prime_sieve, is_prime max = 1000000 primes = prime_sieve(max) prime_sum =  sum = 0 count = 0 while (sum<max): sum+=primes[count] prime_sum.append(sum) count+=1 terms = 1 for i in range(count): for j in range(i+terms, count): n = prime_sum[j] - prime_sum[i] if (j-i>terms and is_prime(n)): (terms,max_prime) = (j-i,n) print "Answer to Problem 50 = ",max_prime," with ",terms," terms\n";
- Was surprised by how many terms were required.