在JavaScript中,使用for
循环来判断一个数是否为质数是一个常见的编程练习。质数是指只能被1和它本身整除的大于1的自然数。
for
循环可以使代码更加简洁易读。以下是一个使用for
循环判断质数的JavaScript函数示例:
function isPrime(num) {
if (num <= 1) return false; // 质数必须大于1
if (num === 2) return true; // 2是最小的质数
if (num % 2 === 0) return false; // 排除所有偶数
// 只需检查到sqrt(num)即可
const sqrtNum = Math.sqrt(num);
for (let i = 3; i <= sqrtNum; i += 2) {
if (num % i === 0) return false;
}
return true;
}
// 测试函数
console.log(isPrime(2)); // true
console.log(isPrime(3)); // true
console.log(isPrime(4)); // false
console.log(isPrime(17)); // true
console.log(isPrime(18)); // false
原因:如果一个数num
不是质数,那么它必定有一个因子小于或等于它的平方根。因此,检查到sqrt(num)就足够了,这样可以减少不必要的迭代次数。
原因:除了2以外,所有的偶数都不是质数。通过先排除偶数,可以进一步减少循环的次数。
通过这些优化,可以提高判断质数的效率。
领取专属 10元无门槛券
手把手带您无忧上云