【发布时间】:2012-02-21 19:18:05
【问题描述】:
我需要从2开始按升序找到一定数量的素数。我有一个工作算法,它将数量限制作为参数 - 它找到所有小于限制的素数。
例如 - 对于参数 20,它将返回 2,3,5,7,11,13,17,19,但我需要输入 5 并获取 2,3,5,7,11。什么是最好的方法?我正在使用 Eratosthenes 的筛子,没有办法限制数字删除部分,因为我不知道第 195 个素数有多大,因此我不知道是否应该删除所有 2 的倍数1568或1268426。希望问题清楚,谢谢帮助
【问题讨论】:
-
你能提供你的代码或至少一些伪代码吗?
-
另见:projecteuler.net/problem=7 - 如果你解决了它,你将获得一些有用的资源。
-
@KorhanÖztürk 不,这是一个较早的编程竞赛的一部分,特别是在算法方面,这让我很烦
-
我明白了。那么,下面的算法对你有用吗? @Magicmaster