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)) |
ZnJvbSBtYXRoIGltcG9ydCBzcXJ0CgpkZWYgYmFzaWNTaWV2ZShuKToKICAgICIiIkdpdmVuIGEgcG9zaXRpdmUgaW50ZWdlciBuLCBnZW5lcmF0ZSB0aGUgcHJpbWVzIDwgbi4iIiIKICAgIHMgPSBbMV0qbgogICAgZm9yIHAgaW4gcmFuZ2UoMiwgMStpbnQoc3FydChuLTEpKSk6CiAgICAgICAgaWYgc1twXToKICAgICAgICAgICAgYSA9IHAqcAogICAgICAgICAgICBzW2E6OnBdID0gWzBdICogLSgoYS1uKS8vcCkKICAgIGZvciBwIGluIHJhbmdlKDIsIG4pOgogICAgICAgIGlmIHNbcF06CiAgICAgICAgICAgIHlpZWxkIHAgCiAgICAgICAgCmRlZiB0ZXN0KCk6CiAgICBwcmltZXMgPSBbXQogICAgZm9yIHggaW4gYmFzaWNTaWV2ZSgxMDAwMDAwMDAwKToKICAgICAgICBwcmltZXMuYXBwZW5kKHgpCiAgICByZXR1cm4gcHJpbWVzCiAgICAKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgIGZyb20gdGltZSBpbXBvcnQgdGltZQogICAgc3RhcnQgPSB0aW1lKCkKICAgIHByaW1lcyA9IHRlc3QoKQogICAgcHJpbnQodGltZSgpIC0gc3RhcnQsICJzZWNvbmRzIikKIyAgICBwcmludCgnXG4nLmpvaW4oc3RyKHApIGZvciBwIGluIHByaW1lcykp
-
upload with new input
-
result: Success time: 0.03s memory: 0 kB returned value: 1
Traceback (most recent call last): File "prog.py", line 23, in <module> primes = test() File "prog.py", line 16, in test for x in basicSieve(1000000000): File "prog.py", line 5, in basicSieve s = [1]*n MemoryError


