Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.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 如何求复杂度为o(1)的n次素数_Algorithm_Math_Complexity Theory_Primes - Fatal编程技术网

Algorithm 如何求复杂度为o(1)的n次素数

Algorithm 如何求复杂度为o(1)的n次素数,algorithm,math,complexity-theory,primes,Algorithm,Math,Complexity Theory,Primes,如何找到复杂度为o(1)的第n个素数在o(1)中实现这一点的唯一方法是所有素数的数组。因此,根据计算机的内存,您只能支持特定的数字 编辑: 也许有一些方法可以计算出这一点,包括一些微积分,但这是我无法理解的:)你不能。事实上,如果不进行穷举搜索,就无法枚举素数 如果您有一个数据库,其中所有素数都小于或等于n,您可以在o(logn)中搜索n素数(小于或等于n),以在固定时间内找到第n个素数,这意味着有一个合理的公式来计算pi(n)(返回第n个素数)。有关此主题的初步讨论,请参阅。您确定这是可能的吗

如何找到复杂度为o(1)的第n个素数

在o(1)中实现这一点的唯一方法是所有素数的数组。因此,根据计算机的内存,您只能支持特定的数字

编辑:


也许有一些方法可以计算出这一点,包括一些微积分,但这是我无法理解的:)

你不能。事实上,如果不进行穷举搜索,就无法枚举素数


如果您有一个数据库,其中所有素数都小于或等于n,您可以在
o(logn)
中搜索n素数(小于或等于n),以在固定时间内找到第n个素数,这意味着有一个合理的公式来计算pi(n)(返回第n个素数)。有关此主题的初步讨论,请参阅。

您确定这是可能的吗?你甚至不能在恒定时间内打印第n个素数。如果你不先找到所有可能的素数就可以打印,那么数学之神会希望听到你的声音。因此,你不可能比这更快地找到某个素数。如果可以的话,那么你也应该能够在恒定时间内进行素性测试。也许你应该把这个问题带到mathoverflow。net简单的答案是没有办法做到这一点。但是如果你要保留M个素数,如果N