实施筛选算法

问题描述 投票:0回答:1

我正在尝试以n ^ 2的顺序实现筛分算法,但是我卡住了,我不为什么代码中的模块运算符返回true这是我的代码:

function sieve(val,prime=true)
 {
  var arr=[];
  for(var i=val;i>1;i--)
  {
     prime=true;
   for(var j=i-1;j>1;j--)
    {

     if((i%j)==0)
     {
      console.log(i%j)
     prime=false;
     break;
      }

      }
    if(prime)
     arr.push(i);
      }
       }
javascript algorithm
1个回答
0
投票

我认为您正在尝试在javascript中实现eratosthenes的筛选。您的代码缺少sieve算法中的一些基本规则,例如,您从最低编号上升到最大编号的sqrt。同样,您永远也不会返回结果。

您可以找到许多示例来说明如何在javascript中实现筛选。这里有一些例子:

© www.soinside.com 2019 - 2024. All rights reserved.