如何找到0到100之间的素数?在Javascript中,如何找到0到100之间的素数?我想过了,我不知道怎么找到他们。我想做x%x,但我发现了一个明显的问题。到目前为止,这就是我所拥有的:但不幸的是,这是有史以来最糟糕的代码。var prime = function (){var num;for (num = 0; num < 101; num++){
if (num % 2 === 0){
break;
}
else if (num % 3 === 0){
break;
}
else if (num % 4=== 0){
break;
}
else if (num % 5 === 0){
break;
}
else if (num % 6 === 0){
break;
}
else if (num % 7 === 0){
break;
}
else if (num % 8 === 0){
break;
}
else if (num % 9 === 0){
break;
}
else if (num % 10 === 0){
break;
}
else if (num % 11 === 0){
break;
}
else if (num % 12 === 0){
break;
}
else {
return num;
}}};console.log(prime());
3 回答
潇湘沐
TA贡献1816条经验 获得超6个赞
function getPrimes(max) { var sieve = [], i, j, primes = []; for (i = 2; i <= max; ++i) { if (!sieve[i]) { // i has not been marked -- it is prime primes.push(i); for (j = i << 1; j <= max; j += i) { sieve[j] = true; } } } return primes;}
getPrimes(100)
潇潇雨雨
TA贡献1833条经验 获得超4个赞
function isPrime (n){ if (n < 2) return false; /** * An integer is prime if it is not divisible by any prime less than or equal to its square root **/ var q = Math.floor(Math.sqrt(n)); for (var i = 2; i <= q; i++) { if (n % i == 0) { return false; } } return true;}
n
添加回答
举报
0/150
提交
取消