読者です 読者をやめる 読者になる 読者になる

mu chance or much chance ?

日々の戯れ言

Project Euler 10 [Python ver.]

Project Euler

問題10を解くRubyプログラムをPythonプログラムに変更しました.

問題は「2000000以下の全ての素数の総和を求めよ」.

http://blog.muchance.jp/entry/2016/08/24/233000
import math

num = 2000000
primeList = []
tempList = []

check = math.sqrt(num)

for i in range(2, num + 1):
    tempList.append(i)

while tempList[0] < check:
    p = tempList.pop(0)
    primeList.append(p)
    tempList = [x for x in tempList if x % p != 0]

primeList += tempList

print(sum(primeList))

エラトステネスの篩を実装しました.