我可以使这个主要的Finder代码更简洁吗?

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

我觉得我在某些地方还有一个额外的变量。]​​>

尤其是找到的变量。有没有更短或更有效的方法来编写此代码?

// 2, 3, 5, 7, 11, 13, 17

function findPrimes(N){
  const primes = [2];

  for(let i = 2; i <= N; i++){
    let found = true;

    for(let j = 0; j < primes.length; j++){
      if( i % primes[j] === 0){
        found = false;
        break;
      }  
    }
    if(found){
      primes.push(i);
    }
  }
  return primes;
}

findPrimes(100);

我觉得我在某些地方还有一个额外的变量。特别是找到的变量。有没有更短或更有效的方式来编写此代码? // 2,3,5,7,7,11,13,17函数findPrimes(N){...

javascript primes
2个回答
1
投票

取决于您希望代码的详细程度和原义。例如,这应该与您的算法完全等效:


0
投票

例如,您的代码检查的数字太多,没有奇数> 2可以是质数。

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