首页 > 代码库 > codevs 2945 计算素数
codevs 2945 计算素数
题目描述 Description
计算[A,B](区间包括A和B,2<=A<=B<=18000000)之间,一共有多少素数?
输入描述 Input Description
一行两个数A和B
输出描述 Output Description
一个数,表示素数的个数
样例输入 Sample Input
3 10
样例输出 Sample Output
3
数据范围及提示 Data Size & Hint
2<=A<=B<=18000000
思路:
素数筛+枚举
代码:
#include<cstdio>using namespace std;int l,r,ans;bool a[18000001];void shai(){ for(int i=2;i<=18000000;i++) if(a[i]==0) for(int j=i*2;j<=18000000;j+=i) a[j]=1;}int main(){ shai(); scanf("%d%d",&l,&r); for(int i=l;i<=r;i++) if(a[i]==0) ans++; printf("%d",ans); return 0;}
codevs 2945 计算素数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。