1013. 数素数 (20)
1013. 数素数 (20)
时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
令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
用的筛选法,第1万个素数是104729,空间要开大
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int i,j;
vector<int> a(11000,0);
for(i=1;i<11000;i++)
a[i]=1;
a[1]=0;
for(i=2;i<11000;i++)
{
if(a[i]==0)
continue;
for(j=i+i;j<11000;j+=i)
a[j]=0;
}
int m,n;
cin>>m>>n;
vector<int> num(n+1,0);
j=0;
for(i=2;i<10010;i++)
{
if(a[i]==1)
{ num[j]=i;
j++;
}
if(j==n)
break;
}
int count=1;
cout<<num[m-1];
for(i=m;i<n;i++)
{
if((count+1)%10==1)
cout<<num[i];
else if((count+1)%10!=0&&(count+1)%10!=1)
cout<<" "<<num[i];
else
cout<<" "<<num[i]<<endl;
count++;
}
}
浙公网安备 33010602011771号