答案是使用for循环和Math.sqrt(n)判断质数:首先排除小于2的数,然后从2循环到√n,若存在整除则非质数,否则为质数。

在 JavaScript 中,使用 for 循环判断一个数是否为质数(素数)是一个常见的编程练习。质数是指大于 1 的自然数中,除了 1 和它本身以外没有其他因数的数。
使用 Math.sqrt(n) 可以减少循环次数,提高效率。
function isPrime(n) {
if (n <= 1) return false; // 小于等于1的数不是质数
if (n === 2) return true; // 2 是质数
if (n % 2 === 0) return false; // 偶数(除了2)都不是质数
for (let i = 3; i <= Math.sqrt(n); i += 2) {
if (n % i === 0) {
return false; // 发现因数,不是质数
}
}
return true; // 没有找到因数,是质数
}
// 示例使用
console.log(isPrime(7)); // true
console.log(isPrime(10)); // false
console.log(isPrime(17)); // true
for (let num = 2; num <= 30; num++) {
if (isPrime(num)) {
console.log(num + " 是质数");
}
}
这段代码会输出 2 到 30 之间的所有质数:2, 3, 5, 7, 11, 13, 17, 19, 23, 29。
基本上就这些。理解了这个逻辑后,你可以轻松扩展功能,比如找出前 N 个质数或某个区间的质数个数。
以上就是js for循环判断质数的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号