Project Euler Problem 10

Summation of primes

Problem 10

The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.

Find the sum of all the primes below two million.

 

The code resemble :

import math


limit = 2000000
crosslimit = int(math.sqrt(limit))
#sieve = [False] * limit
sieve = [False for i in range(0, limit)]
for i in range(4, limit + 1, 2):
    sieve[i-1] = True
for i in range(3, crosslimit + 1, 2):
    if not sieve[i-1]:
        for m in range(i*i, limit+1, 2*i):
            sieve[m-1] = True

MySum = 0
for i in range(2, limit+1):
    if not sieve[i-1]:
        MySum += i

print(MySum)

  

posted @ 2013-12-17 15:25  tianxiaozz  阅读(188)  评论(0编辑  收藏  举报