【发布时间】:2015-12-23 13:56:40
【问题描述】:
抱歉,如果这在某处有所涉及。我在这里搜索了很多素数函数的答案,但似乎找不到我的问题的答案。我拼凑了一个函数来检查一个数字是否为素数,然后我正在为 100 以下的数字运行一个 for 循环并打印出素数。我的代码不打印素数。它似乎开始打印素数,但随后在其中抛出一个 9,并且从那里变得更糟。
我发现似乎与我的代码相同的代码成功地将素数打印到控制台。以下是我的代码;我的错误在哪里?作为记录,我正在使用 jsfiddle,我对此很陌生。
function isPrime(number) {
if (number < 2) {
return false;
}
for (var i = 2; i < number; i++) {
if (number % i == 0) {
return false;
} else {
return true;
}
}
};
for (var i = 0; i < 100; i++) {
if(isPrime(i)) {
console.log(i);
}
}
【问题讨论】:
-
这种确定素数的缓慢方法的一个“速度”改进......只需要循环到
Math.sqrt(number);- 虽然如此小的数字不是问题
标签: javascript primes