Summation of primes, Project Euler Problem 10

Summation of primes, Project Euler Problem 10

September 23, 2020
Project Euler
Project Euler, Python

https://projecteuler.net/problem=10

200万以下の素数を求めて全て足す問題。 ある数nが素数かどうかチェックする素朴な方法「√n 以下で割り切れる素数があれば素数ではない、なければ素数」を実装した。

primes = []

def is_prime(n):
	for p in primes:
		if n % p == 0:
			return False
		if p ** 2 > n:
			break
	primes.append(n)
	return True

sum = 0

for n in range(2, 2_000_000):
	if is_prime(n):
		sum += n
	if n % 10000 == 0:
		print(n, len(primes))

print(sum)