Advertisement
Guest User

Untitled

a guest
Apr 10th, 2016
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. def eratosthenes(n):
  2. prime = [True] * n
  3. prime[0] = False
  4. prime[1] = False
  5. for (i, isPrime) in enumerate(prime):
  6. if(isPrime):
  7. yield i
  8. for j in range(i*i, n, i):
  9. prime[j] = False
  10.  
  11. gen = eratosthenes(100000002)
  12.  
  13. Почему функция выше работает во много раз быстрее, ведь они почти не различаются?
  14.  
  15. n=100000002
  16. gen=[]
  17. prime = [True] * n
  18. prime[0] = False
  19. prime[1] = False
  20. for (i, isPrime) in enumerate(prime):
  21. if(isPrime):
  22. gen.append(i)
  23. for j in range(i*i, n, i):
  24. prime[j] = False
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement