import math
import time
from timeit import default_timer
def sieve(n):
"Return all primes <= n using sieve of erato."
np1 = n + 1
s = list(range(np1))
s[1] = 0
sqrtn = int(round(n**0.5))
for i in range(2, sqrtn + 1):
if s[i]:
s[i*i: np1: i] = [0] * len(range(i*i, np1, i))
return filter(None, s)
def primeSum(n):
p=2
limit=math.floor(n/2)
for p in primes:
q=n-p
if(p>q):
break
if(q in primes):
out.extend([p,q])
primes = sorted(set(sieve(32000)))
test_runs = 20
total = 0
for _ in range(test_runs):
out = []
start = default_timer()
primeSum(30000)
#stop = default_timer()
total += (default_timer() - start)
print('Total Time: {:4f}'.format(total))
print('Avg Testrun Time: {:4f}'.format(total / test_runs))
aW1wb3J0IG1hdGgKaW1wb3J0IHRpbWUKCmZyb20gdGltZWl0IGltcG9ydCBkZWZhdWx0X3RpbWVyCgoKZGVmIHNpZXZlKG4pOgogICAgIlJldHVybiBhbGwgcHJpbWVzIDw9IG4gdXNpbmcgc2lldmUgb2YgZXJhdG8uIgogICAgbnAxID0gbiArIDEKICAgIHMgPSBsaXN0KHJhbmdlKG5wMSkpCiAgICBzWzFdID0gMAogICAgc3FydG4gPSBpbnQocm91bmQobioqMC41KSkKICAgIGZvciBpIGluIHJhbmdlKDIsIHNxcnRuICsgMSk6CiAgICAgICAgaWYgc1tpXToKICAgICAgICAgICAgc1tpKmk6IG5wMTogaV0gPSBbMF0gKiBsZW4ocmFuZ2UoaSppLCBucDEsIGkpKQogICAgcmV0dXJuIGZpbHRlcihOb25lLCBzKQoKZGVmIHByaW1lU3VtKG4pOgogICAgcD0yCiAgICBsaW1pdD1tYXRoLmZsb29yKG4vMikKICAgIGZvciBwIGluIHByaW1lczoKICAgICAgICBxPW4tcAogICAgICAgIGlmKHA+cSk6CiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgaWYocSBpbiBwcmltZXMpOgogICAgICAgICAgICBvdXQuZXh0ZW5kKFtwLHFdKQoKcHJpbWVzID0gc29ydGVkKHNldChzaWV2ZSgzMjAwMCkpKQoKdGVzdF9ydW5zID0gMjAKdG90YWwgPSAwCgpmb3IgXyBpbiByYW5nZSh0ZXN0X3J1bnMpOgogICAgb3V0ID0gW10KICAgIHN0YXJ0ID0gZGVmYXVsdF90aW1lcigpCiAgICBwcmltZVN1bSgzMDAwMCkKICAgICNzdG9wID0gZGVmYXVsdF90aW1lcigpCiAgICB0b3RhbCArPSAoZGVmYXVsdF90aW1lcigpIC0gc3RhcnQpCnByaW50KCdUb3RhbCBUaW1lOiB7OjRmfScuZm9ybWF0KHRvdGFsKSkKcHJpbnQoJ0F2ZyBUZXN0cnVuIFRpbWU6IHs6NGZ9Jy5mb3JtYXQodG90YWwgLyB0ZXN0X3J1bnMpKQ==