找到小于x的最大素数的算法

时间:2011-07-19 03:20:07

标签: algorithm primes

如何计算小于值x的最大素数?

实际上,它不必是精确的,只是近似并接近x。

x是32位整数。

这个想法是x是一个配置参数。我使用小于x的最大素数(称为y)作为类构造函数的参数。值y必须是素数。

2 个答案:

答案 0 :(得分:4)

关于函数pi(x)的一些好信息here。显然,

pi(x) = the number of primes less than x

你可以用

来近似pi(x)
x/(log x - 1)

,而

the n-th prime of that list of primes is equal to approximately n(log n)

答案 1 :(得分:1)

程序运行需要多快?你计算这个问题的频率是多少?

如果你需要快速成就而不关心记忆。您可以通过筛选方法生成一个增加的素数表,然后在程序生命周期内保持它,然后当您找到“小于值x的最大素数”时,只需查找表并在O(log N)时间内可以找到确切的答案。