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

js 求1-100的素数

在JavaScript中,求1到100之间的素数(质数)可以通过编写一个函数来实现。素数是指只能被1和它本身整除的自然数。以下是一个示例代码,用于找出1到100之间的所有素数:

代码语言:txt
复制
function isPrime(num) {
    if (num <= 1) return false; // 1及以下的数不是素数
    if (num === 2) return true; // 2是唯一的偶数素数
    if (num % 2 === 0) return false; // 排除其他偶数

    const sqrt = Math.sqrt(num);
    for (let i = 3; i <= sqrt; i += 2) { // 只需检查到平方根,且只检查奇数
        if (num % i === 0) return false;
    }
    return true;
}

const primes = [];
for (let i = 1; i <= 100; i++) {
    if (isPrime(i)) {
        primes.push(i);
    }
}

console.log(primes);

解释:

  1. isPrime 函数
    • 输入:一个整数 num
    • 输出:如果 num 是素数,返回 true;否则返回 false
    • 逻辑
      • 首先排除小于等于1的数,因为它们不是素数。
      • 2是唯一的偶数素数,直接返回 true
      • 排除其他偶数,因为它们都可以被2整除。
      • 只需检查到 num 的平方根,因为如果 num 有因数,大于平方根的因数必然对应一个小于平方根的因数。
      • 只检查奇数,因为偶数已经在前面排除了。
  • 主循环
    • 遍历1到100之间的所有整数。
    • 对每个数调用 isPrime 函数,如果是素数,则将其添加到 primes 数组中。
  • 输出
    • 最后,通过 console.log 输出所有找到的素数。

运行结果:

代码语言:txt
复制
[
   2,  3,  5,  7, 11, 13, 17, 19, 23, 29,
  31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
  73, 79, 83, 89, 97
]

应用场景:

  • 数学计算:素数在数论、密码学等领域有广泛应用。
  • 算法优化:寻找素数是许多算法的基础,如埃拉托斯特尼筛法(Sieve of Eratosthenes)。
  • 编程练习:这是学习编程和算法的经典问题,有助于提高逻辑思维和编程能力。

注意事项:

  • 对于更大的范围,可以考虑使用更高效的算法,如埃拉托斯特尼筛法,以减少计算时间。
  • 在实际应用中,素数的生成和使用需要考虑性能和内存优化,尤其是在处理非常大的数时。

希望这个示例能帮助你理解如何在JavaScript中找出1到100之间的素数。如果有其他问题或需要进一步的解释,请随时提问!

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

相关·内容

领券