摘要: 问题:求L 到 R范围内的所有素数 (L < R <= 2147483647, R - L <= 10^6)解:要判断x是否是素数,可以看 x %(所有比x小的素数)是否有0出现。。。当然,还可以优化一下 x % (所有比sqrt(x)小的素数)已知 sqrt(2147483647) = 49361;打出 [2, 49361]范围内的素数表,大约不到5000个素数。然后用小于 sqrt(R)的素数乘上一个系数进行枚举,这样乘出来的数必然不是素数。把所有这些数筛小,剩下的就是素数了。至于这个系数怎么确定?可以知道这个系数的下限为 K = L/prime[i],当然,如果prim 阅读全文
posted @ 2012-07-26 11:03 AC_Von 阅读(350) 评论(0) 推荐(0) 编辑