我对JS知之甚少 而且我想知道如果有人输入了一个数字,他们是否可以说它是素数。
function prime(num) {
for (var i = 2; i < num; i++) {
if (num % i === 0 && i !== num) {
break;
} else {
console.log("true")
}
}
}
我姐姐给了我这个挑战,我不知道怎么做......任何提示或技巧,或者我可以剖析并理解它是如何工作的代码?
谢谢,
答案 0 :(得分:1)
在i = 2到sqrt(your_number)的循环数之后找到你的数字的sqrt,如果your_number%=== 0这是结束 - 这个数字不是素数。
编号为37的简短示例。
var n = 37;
var m = Math.sqrt(n);
var isPrime = true;
for (var i = 2; i <= m; i++) {
if (n % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
document.write(n + ' - Prime number<br/>');
} else {
document.write(n + ' Is not prime number<br/>');
}