aboutsummaryrefslogtreecommitdiff
path: root/python/050-consecutive_prime_sum.py
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])