求素数的最短方法可以使用埃拉托斯特尼筛法(Sieve of Eratosthenes)来实现。该算法的基本思想是从2开始,将每个素数的倍数标记为非素数,直到遍历完所有小于给定数的数。
以下是使用JavaScript实现的最短方法:
function findPrimes(n) {
// 创建一个长度为n+1的数组,用于标记数字是否为素数
const isPrime = new Array(n + 1).fill(true);
isPrime[0] = false; // 0不是素数
isPrime[1] = false; // 1不是素数
// 从2开始遍历到根号n
for (let i = 2; i <= Math.sqrt(n); i++) {
// 如果当前数字是素数
if (isPrime[i]) {
// 将当前数字的倍数标记为非素数
for (let j = i * i; j <= n; j += i) {
isPrime[j] = false;
}
}
}
// 收集所有素数
const primes = [];
for (let i = 2; i <= n; i++) {
if (isPrime[i]) {
primes.push(i);
}
}
return primes;
}
// 示例用法
const n = 100;
const primes = findPrimes(n);
console.log(primes);
这段代码使用埃拉托斯特尼筛法找出小于等于给定数n的所有素数,并将它们存储在一个数组中。你可以将n
替换为你想要找的素数的范围。
推荐的腾讯云相关产品:腾讯云函数(云函数是一种无服务器计算服务,可让您无需管理服务器即可运行代码),产品介绍链接地址:腾讯云函数。
领取专属 10元无门槛券
手把手带您无忧上云