Algorithm 求小于x的最大素数的算法
如何计算小于x值的最大素数 事实上,它不一定是精确的,只是近似的,接近x x是一个32位整数 其思想是x是一个配置参数。我使用小于x的最大素数(称为y)作为类构造函数的参数。值y必须是素数。关于函数pi(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的最
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)