Eratosthenes筛

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eratosthenes筛相关的知识,希望对你有一定的参考价值。

Function (algorithm) that returns all prime numbers up to n.
  1. def E_sieve(n):
  2. A=[]
  3. for p in range(2, n+1): # fils the list with numbers from 2 up to n
  4. A.append(p)
  5. for p in range(2, int(floor(n)-1)):
  6. if A[p]!=0: # cheks if p had been eliminated in any of the previous passess
  7. j=p*p
  8. while j<=n-2:
  9. A[j]=0 # marks element as eliminated
  10. j+=p
  11. # copying the remaining elements from list A into list L
  12. i=0
  13. L=[]
  14. for p in range(2, n-1):
  15. if A[p]!=0:
  16. L.append(p)
  17. i+=1
  18. return L

以上是关于Eratosthenes筛的主要内容,如果未能解决你的问题,请参考以下文章

简单质数筛法-试除法,Eratosthenes筛法,线性筛法

Eratosthenes筛

Project Euler - 问题 3:如何使我的 Eratosthenes 筛实施正常工作?

Eratosthenes筛选法

Eular质数筛法

素数表的获取(埃氏筛和欧拉筛)