如何确定一个数字是否是素数JS

时间:2013-07-08 20:41:00

标签: javascript

我对JS知之甚少 而且我想知道如果有人输入了一个数字,他们是否可以说它是素数。

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

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

谢谢,

1 个答案:

答案 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/>');
}