质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。在JavaScript中,我们可以编写一个函数来计算1000以内的所有质数。以下是一个使用简单循环和条件判断的示例代码:
function isPrime(num) {
if (num <= 1) return false;
for (let i = 2; i * i <= num; i++) {
if (num % i === 0) return false;
}
return true;
}
function getPrimesUnderLimit(limit) {
const primes = [];
for (let i = 2; i < limit; i++) {
if (isPrime(i)) {
primes.push(i);
}
}
return primes;
}
const primesUnder1000 = getPrimesUnderLimit(1000);
console.log(primesUnder1000);
function sieveOfEratosthenes(limit) {
const isPrime = new Array(limit).fill(true);
isPrime[0] = isPrime[1] = false;
for (let i = 2; i * i < limit; i++) {
if (isPrime[i]) {
for (let j = i * i; j < limit; j += i) {
isPrime[j] = false;
}
}
}
return isPrime.map((prime, index) => prime ? index : null).filter(Boolean);
}
const primesUnder1000 = sieveOfEratosthenes(1000);
console.log(primesUnder1000);
通过上述方法,可以有效计算出1000以内的所有质数,并根据具体需求选择合适的算法来优化性能和内存使用。