function isPrime(num) {
// 如果 num 小于 2,它肯定不是质数
if (num < 2) {
return false;
}
// 从 2 开始枚举 num 的因子
for (let i = 2; i <= Math.sqrt(num); i++) {
// 如果 num 能被 i 整除,那么它不是质数
if (num % i === 0) {
return false;
}
}
// 如果循环结束,说明 num 不能被 2 到 sqrt(num) 之间的数整除,因此它是质数
return true;
}
// 使用示例
console.log(isPrime(2)); // true
console.log(isPrime(3)); // true
console.log(isPrime(4)); // false
console.log(isPrime(5)); // true
上面的代码首先检查 num 是否小于 2,如果是,直接返回 false。然后,使用 for 循环枚举 2 到 sqrt(num) 的数,如果 num 能被这些数中的任意一个整除,就说明 num 不是质数,返回 false。如果循环结束,说明 num 不能被 2 到 sqrt(num) 之间的数整除,因此它是质数,返回 true。