blob: 0fde061d61ddcc39f609464ca026fc59611e7f32 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# ###
# Consecutive prime sum
# Problem 50
#
# The prime 41, can be written as the sum of six consecutive primes:
# 41 = 2 + 3 + 5 + 7 + 11 + 13
# 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?
# ###
from helper.prime import primes_loop, is_prime
sumed = []
ps = []
max_len = 0
for p in primes_loop():
if p > 20000:
break
ps.append(p)
for i in range(len(ps)):
s = sum(ps[i:])
if s > 1000000:
break
if is_prime(s) and len(ps) > max_len:
sumed.append(s)
max_len = len(ps)
print(sumed[-1])
|