【发布时间】:2010-11-05 18:37:45
【问题描述】:
是否有一个函数可以返回第 n 个素数的近似值?我认为这类似于近似的反素数计数函数。例如,如果我给这个函数 25 它会返回一个大约 100 的数字,或者如果我给这个函数 1000 它会返回一个大约 8000 的数字。我不在乎返回的数字是否是素数,但我确实想要它要快(所以不会生成第一个 n 个素数来返回第 n 个。)
我想要这样,以便我可以使用筛子(Eratosthenes 或 Atkin)生成前 n 个素数。因此,理想情况下,第 n 个素数的近似值永远不会低估实际第 n 个素数的值。
(更新:请参阅my answer,了解找到第 n 个素数上限的好方法。)
【问题讨论】:
-
只做你的筛子分段。而且,绝对是埃拉托色尼。
-
今天关于这个主题的绝对最佳作品是Christian Axler's dissertation.