fork(1) download
  1. from time import time
  2.  
  3. def primes(n): # sieve of eratosthenes
  4. i, p, ps, m = 0, 3, [2], n // 2
  5. sieve = [True] * m
  6. while p <= n:
  7. if sieve[i]:
  8. ps.append(p)
  9. for j in range((p*p-3)/2, m, p):
  10. sieve[j] = False
  11. i, p = i+1, p+2
  12. return ps
  13.  
  14. start = time()
  15. print len(primes(1000000))
  16. print time() - start
  17.  
  18. def isPrime(n): # trial division
  19. if n % 2 == 0: return n == 2
  20. d = 3
  21. while d * d <= n:
  22. if n % d == 0: return False
  23. d += 2
  24. return True
  25.  
  26. start = time()
  27. ps = []
  28.  
  29. for p in range(2,1000000):
  30. if isPrime(p):
  31. ps.append(p)
  32.  
  33. print len(ps)
  34. print time() - start# your code goes here
Success #stdin #stdout 8.56s 7840KB
stdin
Standard input is empty
stdout
78498
0.370424985886
78498
8.16915512085