回 帖 发 新 帖 刷新版面

主题:[原创]求素数判别的快速方法

偶最近,遇到一道相当BT的题,题意简单,但算法要求太严,题目如下:
Given an integer interval [L, R](L <= R <= 2147483647, R - L <= 1000000), please calculate the number of prime(s) in the interval. 

Input 
There is one line in the input, which contains two integer: L, R. 

Output 
There is only one line , which contains the number of prime(s) in the interval. 

Sample Input 
2 11

Sample Output 
5

求哪位神仙姐姐,神仙哥哥,帮偶看一下.

回复列表 (共8个回复)

沙发

这题目也叫BT啊?
推荐你看一篇文章,如果你能把它提供的方法实现出来,速度绝对快。即使R-L等于2147483647,也用不了1秒。
文章题目:COMPUTING π(x): THE MEISSEL-LEHMER METHOD
在google上能搜到

板凳

不过如果范围限制在 R - L <= 1000000的话,直接用Eratosthenes筛法就可以了。

3 楼

一楼的牛人,能不能把文章传到网上来...我在百度上找不到,,或者就是打不开网页...无语地很...

4 楼

[quote]一楼的牛人,能不能把文章传到网上来...我在百度上找不到,,或者就是打不开网页...无语地很...[/quote]
我上传到本论坛时出现“很抱歉,您上传的文件格式不支持! ”。你到google上搜就可以搜到了,在百度上搜不到的。

5 楼

用欧拉函数马上解决

6 楼


   用哈希表

7 楼

能不能给个详细的判断方法,要简单一些哦。。。。
如果能加上代码那就好好呀

8 楼

我也觉得。。。应该有一个程序给我们看一下。。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册