我正在尝试完成Codewars挑战,该挑战要求您检查一个数字是否为质数。无论出于何种原因,我的解决方案似乎不适用于奇素数的平方(例如9
返回true
而不是false
)。
function isPrime(num) {
if (num === 2) {
return true;
} else if (num > 1) {
for (var i = 2; i < num; i++) {
if (num % i !== 0) {
return true;
} else if (num === i * i) {
return false
} else {
return false;
}
}
} else {
return false;
}
}
console.log(isPrime(121));
Ps 我包含了第二个 else/if 语句,因为我试图解决这个问题。