我觉得我在某个地方有一个额外的变量。
特别是找到的变量。有没有更短或更有效的方法来编写这个?
// 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, 11, 13, 17
function findPrimes(N) {
const primes = [2];
for (let i = 3; i <= N; i++) {
if (!primes.some(n => i % n === 0)) {
primes.push(i);
}
}
return primes;
}
console.log(findPrimes(100));
关于javascript - 我可以让这个prime Finder 代码更简洁吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60114501/