Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何确定一个数是否为素数_Javascript - Fatal编程技术网

Javascript 如何确定一个数是否为素数

Javascript 如何确定一个数是否为素数,javascript,Javascript,我对JS知之甚少 我想知道,如果有人输入了一个数字,他们是否能分辨出它是素数 function prime(num) { for (var i = 2; i < num; i++) { if (num % i === 0 && i !== num) { break; } else { console.log("true") } } } 函数素数(num){ 对于

我对JS知之甚少 我想知道,如果有人输入了一个数字,他们是否能分辨出它是素数

function prime(num) {
    for (var i = 2; i < num; i++) {
        if (num % i === 0 && i !== num) {
            break;
        } else {
            console.log("true")
        }
    }
}
函数素数(num){
对于(变量i=2;i
我姐姐给了我这个挑战,我不知道怎么做。。。有什么提示或提示,或是我能剖析并理解它是如何工作的代码吗


谢谢,

在从i=2到sqrt(您的\u编号)的循环编号之后查找您的编号的sqrt,如果您的\u编号%==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/>');
}
var n=37;
var m=数学sqrt(n);
var isPrime=真;

对于(var i=2;我想知道以前是否有人问过这个问题?哦,是的:你的代码有什么问题?简单的谷歌搜索会找到很多答案。@naomik正在查找0-100之间的所有素数,而不是一个特定的数字。@Felix似乎一切都变为“真”即使它不是素数。你也可以去掉
&&i!==num
部分。那永远不会是真的。为什么是平方根?@Kmeixner你的循环会运行得更快