Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 求小于x的最大素数的算法_Algorithm_Primes - Fatal编程技术网

Algorithm 求小于x的最大素数的算法

Algorithm 求小于x的最大素数的算法,algorithm,primes,Algorithm,Primes,如何计算小于x值的最大素数 事实上,它不一定是精确的,只是近似的,接近x x是一个32位整数 其思想是x是一个配置参数。我使用小于x的最大素数(称为y)作为类构造函数的参数。值y必须是素数。关于函数pi(x)的一些好信息。显然 pi(x) = the number of primes less than x 你可以用 当 你需要程序运行多快?你多久计算一次这个问题 如果你需要快速的成就,而不在乎记忆。您可以通过筛选方法生成一个递增素数表,然后在程序生命周期内保存它,然后当您要查找“小于值x的最

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

事实上,它不一定是精确的,只是近似的,接近x

x是一个32位整数

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

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

pi(x) = the number of primes less than x
你可以用


你需要程序运行多快?你多久计算一次这个问题


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

我想您可能需要了解一些上下文素数来最好地解决此问题。可能吗?X不是素数?到什么尺度?32位整数?或者是cryto标准,比如1024位数字?x将在int32范围内谢谢,这就是我想要的。当你计算n个素数时,高斯的Li(the)是一个比x/(logx)好得多的估计量− 1) --正如克里斯·考德威尔在链接页面上解释的那样!哇,答案很棒,也非常有趣@GarethRees我不明白他的意思:>我们可以用同样的方式看到函数Li(x)-(1/2)Li(x1/2)是“平均”比Li(x)到pi(x)更好的近似值;但即使通过重复平均,黎曼公式中的后一项也不重要。对于较小范围的素数,这几乎肯定是最快的方法。如果存储为16位值,则所有两个字节的素数(其中6542个)将适合于16kB的一级缓存,如果存储为32位值,则它们将适合于32kB的一级缓存。所有最近的CPU都至少有一个32kB的一级数据缓存。如果将1077871个素数存储为32位值,则每个素数可以用3个字节表示,但在4MB二级缓存中不太合适,但如果将其中5个素数打包为16个字节,则仍然可以进行有效的二进制搜索。
x/(log x - 1)
the n-th prime of that list of primes is equal to approximately n(log n)