Eratosthenes筛

Posted

tags:

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

Returns an array of all the prime numbers up to (n) using an implementation of the Sieve of Eratosthenes.
  1. var getPrimes = function (n) {
  2. var numbers = [],
  3. multiple, i, j, len,
  4. square = function (x) { return x * x; };
  5.  
  6. for(i = 2; i <= n; i++) {
  7. numbers.push(i);
  8. }
  9.  
  10. for(j = 0; square(numbers[j]) < n; j++) {
  11. multiple = numbers[j];
  12. for(i = 0, len = numbers.length; i < len; i++) {
  13. if(numbers[i] % multiple === 0) {
  14. if(numbers[i] === multiple) { i++; continue; }
  15. numbers.splice(i, 1);
  16. }
  17. }
  18. }
  19. return numbers;
  20. };

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

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

Eratosthenes筛

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

Eratosthenes筛选法

Eular质数筛法

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