开发者社区 问答 正文

前10000个质数最有效的代码?

我想打印前10000个质数。谁能给我最有效的代码吗?说明:

您的代码对于n> 10000效率是否低并不重要。 代码的大小无关紧要。 您不能仅以任何方式对值进行硬编码。

展开
收起
游客ufivfoddcd53c 2020-01-03 17:56:29 1016 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 筛子或Eratosthenes可能是查找素数列表的最直观方法。基本上,您:

    写下一个数字列表,从2到您想要的任何限制(例如1000)。 取第一个未被舍去的数字(对于第一次迭代,为2),并从列表中舍去该数字的所有倍数。 重复步骤2,直到到达列表的末尾。所有未划掉的数字都是质数。 显然,可以做很多优化来使该算法更快地工作,但这是基本思想。

    Atkin的筛子使用类似的方法,但是不幸的是,我对它的了解不足,无法向您解释。但是我确实知道,我链接的算法需要8秒钟才能弄清在古老的Pentium II-350上所有的质数达到1000000000

    2020-01-03 17:56:58 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
问答地址:
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等