首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

求素数JS的最短方法

求素数的最短方法可以使用埃拉托斯特尼筛法(Sieve of Eratosthenes)来实现。该算法的基本思想是从2开始,将每个素数的倍数标记为非素数,直到遍历完所有小于给定数的数。

以下是使用JavaScript实现的最短方法:

代码语言:txt
复制
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替换为你想要找的素数的范围。

推荐的腾讯云相关产品:腾讯云函数(云函数是一种无服务器计算服务,可让您无需管理服务器即可运行代码),产品介绍链接地址:腾讯云函数

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券