problem50.py 628 B

12345678910111213141516171819202122
  1. #!/usr/bin/env python
  2. from utils import primes_until
  3. def maxprime(n):
  4. primes = list(primes_until(n))
  5. maxp = maxlen = 2
  6. for start in xrange(len(primes)):
  7. for end in xrange(start + maxlen + 1, start + 800):
  8. if end - start >= maxlen:
  9. conseq = primes[start:end]
  10. s = sum(conseq)
  11. if len(conseq) > 1 and s in primes[start:]:
  12. maxlen = end - start
  13. maxp = s
  14. print maxp
  15. #print '%s = %d' % (' + '.join(map(str, primes[start:end])), s)
  16. return maxp
  17. print maxprime(1000000)