language: Python 3 (python-3.2.3)
date: 1095 days 19 hours ago
link:
visibility: public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from math import sqrt
 
def basicSieve(n):
    """Given a positive integer n, generate the primes < n."""
    s = [1]*n
    for p in range(2, 1+int(sqrt(n-1))):
        if s[p]:
            a = p*p
            s[a::p] = [0] * -((a-n)//p)
    for p in range(2, n):
        if s[p]:
            yield p 
        
def test():
    primes = []
    for x in basicSieve(1000000000):
        primes.append(x)
    return primes
    
if __name__ == '__main__':
    from time import time
    start = time()
    primes = test()
    print(time() - start, "seconds")
#    print('\n'.join(str(p) for p in primes))