1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import numpy def primes_upto2_gen3(limit): """Generate prime numbers less than limit. Use Sieve of Eratosthenes. Assume limit > 2 """ yield 2 is_prime = numpy.ones(limit, dtype=numpy.bool) for n in xrange(3, int(limit**.5)+1, 2): if is_prime[n]: yield n is_prime[n*n::2*n] = False for n in xrange(n+2, limit, 2): if is_prime[n]: yield n |
aW1wb3J0IG51bXB5CiAgICAgICAgICAgICAgICAgICAgCmRlZiBwcmltZXNfdXB0bzJfZ2VuMyhsaW1pdCk6CiAgICAiIiJHZW5lcmF0ZSBwcmltZSBudW1iZXJzIGxlc3MgdGhhbiBsaW1pdC4KICAgIAogICAgVXNlIFNpZXZlIG9mIEVyYXRvc3RoZW5lcy4gQXNzdW1lIGxpbWl0ID4gMgogICAgIiIiCiAgICB5aWVsZCAyCiAgICBpc19wcmltZSA9IG51bXB5Lm9uZXMobGltaXQsIGR0eXBlPW51bXB5LmJvb2wpCiAgICBmb3IgbiBpbiB4cmFuZ2UoMywgaW50KGxpbWl0KiouNSkrMSwgMik6CiAgICAgICAgaWYgaXNfcHJpbWVbbl06CiAgICAgICAgICAgIHlpZWxkIG4KICAgICAgICAgICAgaXNfcHJpbWVbbipuOjoyKm5dID0gRmFsc2UKICAgIGZvciBuIGluIHhyYW5nZShuKzIsIGxpbWl0LCAyKToKICAgICAgICBpZiBpc19wcmltZVtuXToKICAgICAgICAgICAgeWllbGQgbgo=


