📅  最后修改于: 2023-12-03 15:17:02.219000             🧑  作者: Mango
在计算机科学中,素数(质数)是指在大于1的自然数中,除了1和该数自身以外,无法被其他自然数整除的正整数。本篇文章中,我们将介绍如何使用JavaScript打印所有素数。
该算法基于试除法,即从2开始到n-1逐一检查n是否能被整除。如果n不能被任何数整除,则n是素数。时间复杂度为O(n^2),不过实际运行速度远高于这个数量级。
function isPrime(n) {
if (n <= 1) {
return false;
}
const sqrtNum = Math.sqrt(n); // 开方
for (let i = 2; i <= sqrtNum; i++) {
if (n % i === 0) {
return false;
}
}
return true;
}
function printPrimeNumbers(n) {
for (let i = 2; i <= n; i++) {
if (isPrime(i)) {
console.log(i);
}
}
}
在上面的代码中,isPrime()
函数判断一个数是否为素数。它从2到该数的平方根范围内逐一检查该数是否能被整除,如果能,返回false;如果不能,返回true。
printPrimeNumbers()
函数遍历从2到n的所有数,并使用isPrime()
函数判断每个数是否是素数。如果是,将其打印出来。
// 打印1到100的所有素数
printPrimeNumbers(100);
以上就是使用JavaScript打印所有素数的方法。虽然该算法时间复杂度较高,但是在实际应用中运行速度较快。如果您有更好的算法或者有其他相关问题,欢迎在评论区留言!