[Project Euler] Problem 10

원문: 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.


10 미만의 소수들의 합은 2 + 3 + 5 + 7 = 17 이다.
2 백만 미만의 소수들의 합을 구하여라.

Python
>>> def isprime(num) :
    if num%2 == 0 :
        if num == 2 :
            return True
        else :
            return False
    for k in range(3, int(math.sqrt(num))+1, 2) :
        if num%k == 0 :
            return False
    else :
        return True

>>> import math
>>> sum([2] + [x for x in range(3, 2000000, 2) if isprime(x)])
접기

ps. 나중에 좋은 소수 판단 알고리즘을 작성해봐야 겠다. 15.39679초나 걸렸다. 그리고 J 는 1초 이내...

댓글 없음:

댓글 쓰기