2879: 【例60.3】 找素数
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:3
解决:3
题目描述
输出正整数a到b之间的所有素数。
输入
输入$a$,$b$。对于所有数据,$1≤a≤b≤20000$。
输出
由小到大,输出$a$到$b$之间的所有素数。每个数占一行。
样例输入 复制
5 10
样例输出 复制
5
7
提示
#include<iostream> using namespace std; #define maxn 5000001 #define ll long long bool f[maxn]; int a,b; void findPrimes(int n){ int i; int cnt = 0; ll j; f[0]=f[1]=1; for(i=2;i<=n;++i) { if(!f[i]) { for(j = (ll)i*i; j<=n;j+=i) { f[j] = 1; } } } return ; } main() { cin>>a>>b; findPrimes(b); for(int i=a;i<=b;i++) if(!f[i]) cout<<i<<endl; return 0; }