首页 > 代码库 > POJ 3978 Primes(素数筛选法)
POJ 3978 Primes(素数筛选法)
题目
简单的计算A,B之间有多少个素数
只是测试数据有是负的
//AC
//A和B之间有多少个素数//数据可能有负的!!!#include<string.h>#include<stdio.h>//素数筛选法int pri[100000+10];//1 合数, 0 素数void Prime(){ memset(pri,0,sizeof(pri)); pri[1]=pri[0]=1; for(int i=2;i<50002;i++) { if(pri[i]==0) for(int j=i+i;j<100010;j=j+i) pri[j]=1; }}int main(){ int a,b; Prime(); while(scanf("%d%d",&a,&b)!=EOF) { if(a==-1&&b==-1)break; int ans=0; if(a<0)a=0; if(b<0)b=0; for(int i=a;i<=b;i++) { if(pri[i]==0) ans++; } printf("%d\n",ans); } return 0;}
//素数筛选法int pri[100000+10];//1 合数, 0 素数void Prime(){ memset(pri,0,sizeof(pri)); pri[1]=pri[0]=1; for(int i=2;i<50002;i++) { if(pri[i]==0) for(int j=i+i;j<100010;j=j+i) pri[j]=1; }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。