开发者社区> 问答> 正文

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

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

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

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

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

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

    2020-01-03 17:56:58
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载