题目链接
这里测试点4卡的是PN的范围,已知道PN小于等于10000,所以要保存10000个素数
#include<iostream>
#include<cmath>
#include<vector>
using namespace std;
vector<int>prime;
int isprime(int k){
if(k<2){
return 0;
}
//sqrt是数学知识,判断一个素数只要从2到他的平方根就可以了
for(int i=2;i<=sqrt(k);i++){
if(k%i==0){
return 0;
}
}
return 1;
}
int main()
{
int m,n;
cin>>m>>n;
int cnt=1;
for(int i=2;i<=200010;i++){
if(isprime(i)!=0){
prime.push_back(i);
}
}
//这里换行也是一种技巧
for(int i=m-1;i<=n-1;i++){
if(cnt++!=1){
cout<<" ";
}
cout<<prime[i];
if(cnt%11==0){
cnt/=10;
cout<<endl;
}
}
return 0;
}