快速算法查找两个数字之间的素数

Har*_*ari 9 algorithm math primes

我的问题减少到找到两个给定数字之间的素数.我可以有一个大的范围1 to (1000)!,因此我需要一些数学优化.

显然,筛分方法在这种情况下会太慢.是否有任何可以应用的数学优化 - 例如,占用这个大空间的较小子集并推断其余数字.

PS:看起来我可能已经走到了死胡同 - 但我正在寻找的是一些可能有助于解决这个问题的优化.而且,我只是在寻找单线程方法.

编辑:我一直在思考的一种方法,可以解决许多大质数相关的问题 - 是有人维护全局素数表并使其可用于查找.PrimeGrid项目的人们可以为此做出有益的贡献.

Mys*_*ial 9

因为你想要高达1000!(阶乘).使用当前已知的当前技术方法,您将无法获得准确的结果.

素数计数函数只被准确地评估了一把价值达10^24.所以你无法击中1000!.


但是,既然你提到的近似可能没那么好,你可以使用对数积分作为素数计数函数的近似值.

这是基于素数定理,它表示素数计数函数是对数积分的渐近.