您的位置:首页 > 其它

1013. 数素数 (20)

2018-03-22 14:36 162 查看

1013. 数素数 (20)

令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出格式:输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。输入样例:
5 27
输出样例:
11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103

思路:用埃式筛出素数。
#include<iostream>
using namespace std;
int flag[10001],p=1,result[10001];
void as(){
for (int i=1;i<=10001;i++)
flag[i] = 1;
for (int i = 2;i<=10001;i++){
if (flag[i]==1){
result[p++] = i;
for (int j=i;j<=10001;j=j+i)
flag[j] = 0;
}
}
}
int main(){
as();
int m,n,count=0;
cin>>m>>n;
int num = (n-m+1)/10,ge=(n-m+1)%10;
for (int i=m;i<=n-ge;i++){
count++;
cout<<result[i];
if (count!=0&&count%10!=0)
cout<<" ";
if (count!=0&&count%10==0)
cout<<endl;
}
for (int i=n-ge+1;i<=n;i++){
cout<<result[i];
if (i!=n)
cout<<" ";
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: