sd


私信TA

用户名:15116831890

访问量:3465

签 名:

等  级
排  名 30815
经  验 494
参赛次数 0
文章发表 5
年  龄 0
在职情况 学生
学  校 湖南科技大学
专  业

  自我简介:

给定两个非负整数a,b,其中0<= a,b<=1,000,000,请计算这两个数之间有多少个素数。

输入

第一行是一个整数K(1<=K<=1000),表示有多少个样例,每个样例占一行,是两个整数a和b,每个整数之间用一个空格隔开。

输出

每行输出一个样例的结果。

   

Sample Input

   

2 2 3 17 19
   

Sample Output

   

2 2
   

代码:

#include<stdio.h>



int isprime(int n)

{   int i,result;

    int a=0;



    for(i=2;i<n;i++)

        if(n % i == 0)

        {

            a+=1;

        }

    if(a==0)

        result=1;

        else

            result=0;

    return result;

}







int main(){

int k,a,b,i;

scanf("%d",&k);

while(k--){

scanf("%d %d",&a,&b);


int count=0;

for(i=a;i<=b;i++){



       count+=isprime(i);





}



printf("%d\n",count);




}


return 0;




}


 

0.0分

0 人评分

  评论区

缩小一下枚举的范围
2017-11-21 14:24:35
这个算法比较笨,数据大的时候就太慢了,想其他的算法
2017-11-16 19:54:10
  • «
  • 1
  • »