首页 > web前端 > js教程 > 正文

如何在 JavaScript 中高效查找某个范围内的素数?

Patricia Arquette
发布: 2024-10-30 22:49:30
原创
264 人浏览过

How to Efficiently Find Prime Numbers Within a Range in JavaScript?

高效查找某个范围内的素数

在 JavaScript 中,识别指定范围内的素数可以通过多种方法实现。一种常用的方法是埃拉托斯特尼筛法算法。该技术将素数的倍数标记为非素数,从而可以有效识别素数。

以下是改进的埃拉托色尼筛法算法的 JavaScript 实现,用于查找 0 到 100 范围内的素数:

function getPrimes(max) {
    var sieve = [], i, j, primes = [];
    for (i = 2; i <= max; ++i) {
        if (!sieve[i]) {
            // i has not been marked -- it is prime
            primes.push(i);
            for (j = i << 1; j <= max; j += i) {
                sieve[j] = true;
            }
        }
    }
    return primes;
}
登录后复制

在此函数中,名为“sieve”的数组用于跟踪标记为非素数的数字。从 2 到指定的最大值迭代数字,未标记的数字被视为素数并添加到 'primes' 数组中。随后,多个素数在“sieve”数组中被标记为非素数。

通过使用此函数,您可以高效地检索指定范围内的所有素数。例如,getPrimes(100) 将返回 2 到 100(含)之间所有素数的数组。

以上是如何在 JavaScript 中高效查找某个范围内的素数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!