-1

我对 JS 的了解非常少而且我想知道如果有人输入了一个数字,他们是否能分辨出它是素数。

function prime(num) {
    for (var i = 2; i < num; i++) {
        if (num % i === 0 && i !== num) {
            break;
        } else {
            console.log("true")
        }
    }
}

我姐姐给了我这个挑战,我不知道该怎么做……任何提示或技巧,或者我可以剖析并理解它是如何工作的代码?

谢谢,

4

1 回答 1

1

从 i = 2 到 sqrt(your_number) 如果 your_number % === 0 这是结束,则从 i = 2 到 sqrt(your_number) 找到你的号码的 sqrt - 这个数字不是质数。

编号为 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/>');
}
于 2013-07-08T20:51:48.713 回答