fork(1) download
  1. import math
  2. import time
  3.  
  4. from timeit import default_timer
  5.  
  6.  
  7. def sieve(n):
  8. "Return all primes <= n using sieve of erato."
  9. np1 = n + 1
  10. s = list(range(np1))
  11. s[1] = 0
  12. sqrtn = int(round(n**0.5))
  13. for i in range(2, sqrtn + 1):
  14. if s[i]:
  15. s[i*i: np1: i] = [0] * len(range(i*i, np1, i))
  16. return filter(None, s)
  17.  
  18. def primeSum(n):
  19. p=2
  20. limit=math.floor(n/2)
  21. for p in primes:
  22. q=n-p
  23. if(p>q):
  24. break
  25. if(q in primes):
  26. out.extend([p,q])
  27.  
  28. primes = sorted(set(sieve(32000)))
  29.  
  30. test_runs = 20
  31. total = 0
  32.  
  33. for _ in range(test_runs):
  34. out = []
  35. start = default_timer()
  36. primeSum(30000)
  37. #stop = default_timer()
  38. total += (default_timer() - start)
  39. print('Total Time: {:4f}'.format(total))
  40. print('Avg Testrun Time: {:4f}'.format(total / test_runs))
Success #stdin #stdout 2.89s 10048KB
stdin
Standard input is empty
stdout
Total Time: 2.854907
Avg Testrun Time: 0.142745