如何找到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贡献1851条经验 获得超3个赞
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)
牧羊人nacy
TA贡献1862条经验 获得超7个赞
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
- 3 回答
- 0 关注
- 736 浏览
添加回答
举报
0/150
提交
取消
