fork download
  1. def primesUpto(x):
  2. primes = [2]
  3. sieve = [2]
  4. i = 3
  5. while i <= x:
  6. composite = False
  7. j = 0
  8. while j < len(sieve):
  9. sieve[j] = sieve[j] - 1
  10. if sieve[j] == 0:
  11. composite = True
  12. sieve[j] = primes[j]
  13. j += 1
  14. if not composite:
  15. primes.append(i)
  16. sieve.append(i*i-i)
  17. i += 1
  18. return primes
  19.  
  20. print( len( list( primesUpto( 7919 )) )) # 1.41s 7.7 MB
  21. # print( len( list( primesUpto( 17389 )) )) # 6.33s 7.8 MB n^2.15
Success #stdin #stdout 1.43s 7728KB
stdin
Standard input is empty
stdout
1000