如何更快地找到第n个素数?

2024-10-01 07:44:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚开始学习如何编程,我正试图制作一个程序来找到第n个质数。我做到了。但要花很长时间才能得到大量的数据。有没有办法让它更快?以下是我使用的代码(非常基本):

def prime_finder(nth1):
   s = 1
   n = 0
   while n < nth1:
       s += 1
       for x in range(2,s):
          if s % x == 0:
             break
       else:
          n += 1

   return s

print prime_finder(31337)

Tags: 数据代码in程序forfinderdef编程
1条回答
网友
1楼 · 发布于 2024-10-01 07:44:28

你可以通过迭代来加快速度 range(2,s)要查找因子,请尝试 range(2,int(math.sqrt(s))) 如果一个数不除平方根以外的任何数,它必须是素数。在

记住 import math

还有。在

相关问题 更多 >