【发布时间】:2012-08-11 14:01:00
【问题描述】:
在 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());
【问题讨论】:
-
Java 还是 JavaScript?由于
var和===,该代码看起来像JavaScript。 JavaScript 与 Java 完全不同。 -
如果它只能在 0 到 100 之间,最好只找到一个素数列表并将它们组成一个数组。然后,检查
indexOf(number) == -1 -
快速搜索发现了这个很棒的答案stackoverflow.com/questions/9138872/…
标签: javascript math primes