JavaScript实现素数判断与性能优化:从暴力到埃拉托斯特尼筛法104


大家好,我是你们的知识博主!今天我们来聊一个在计算机科学和数学领域都非常基础且有趣的话题——素数(质数)。素数,即只能被1和它本身整除的自然数(大于1),是构建整数世界的“原子”,在密码学、哈希函数等许多高级应用中都扮演着至关重要的角色。我们将聚焦于如何使用JavaScript来判断一个数是否为素数,以及如何逐步优化我们的算法,从最直观的“暴力”解法到高效的埃拉托斯特尼筛法。

一、最基础的素数判断方法:暴力试除法

判断一个数 `n` 是否为素数最直观的方法,就是从2开始,一直到 `n-1`,逐一检查 `n` 是否能被这些数整除。如果发现任何一个数能整除 `n`,那么 `n` 就不是素数;如果遍历完所有数都没有发现因子,那么 `n` 就是素数。

我们用JavaScript来实现这个逻辑:function isPrimeBasic(num) {
// 小于等于1的数不是素数
if (num sqrt(n)`,所以 `b` 必然小于 `sqrt(n)`。这意味着,如果 `n` 有因子,那么它至少有一个因子会小于或等于 `sqrt(n)`。

所以,我们只需要检查从2到 `sqrt(n)` 之间的数即可。这样可以大大减少循环的次数。function isPrimeOptimized(num) {
if (num

2025-10-15


上一篇:Anki卡片进化论:用JavaScript打造你的专属互动学习神器

下一篇:JavaScript:从前端到全栈,解锁Web开发的无限可能