题目:
The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.
中文题目:
10以下的质数的和是2 + 3 + 5 + 7 = 17.
找出两百万以下所有质数的和。
解题分析: 前面有个题目已经有了好的处理素数的方式,这次直接用前面的代码来实现。
limit = 1000000 arr = [True] * limit def sieve(x): global arr,limit for i in range(x*2,limit,x): arr[i] = False map(sieve, range(2,limit**1/2)) primes = [] for i in range(2,limit): if arr[i]: primes.append(i) sum = 0 for p in primes: sum += p print sum