Summation of primes, Project Euler Problem 10
September 23, 2020
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)