gpt4 book ai didi

javascript - var prime = num != 1; 是什么意思?意思是?

转载 作者:行者123 更新时间:2023-11-29 16:17:03 27 4
gpt4 key购买 nike

我知道这类似于 another SO question , 但变量 prime 应该是 1 以外的任何数字,在我看来它会被分配 num != 1 的 bool 值。谁能告诉我这行代码实际上在做什么?

这是使用它的代码

function isPrime( num ) { 
var prime = num != 1; // Everything but 1 can be prime
for ( var i = 2; i < num; i++ ) {
if ( num % i == 0 ) {
prime = false;
break;
}
}
return prime;
}

编辑:我假设这条线做这样的事情:

if( num != 1) {
prime = num;
}

但我还是想知道这行代码为什么如何这样做。

最佳答案

如您所想,语句 var prime = num != 1; 将 bool 表达式 (num != 1) 的结果赋值给变量 素数。这种特殊情况包含在每个素数检查代码中,因为 1 本身不是素数。

如果您只检查不超过输入值平方根的除数,您的算法可能会更快。你可以阅读这个 here并且可能会注意到检查 num > i*i 是否比 sqrt(num) > i 更有效。

此外,如果您向算法输入负值或零值,您的算法仍可能返回错误值。

关于javascript - var prime = num != 1; 是什么意思?意思是?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13886460/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com