这道题是很明显的素数筛选模板题
需要注意的地方
1.第一个素数是2,依次类推。
2.每十个输出一次换行,注意最后一个数据后面要特判,不能加多余的空格。
#include <iostream>
#include <string>
#include <vector>
#include <cctype>
#include <algorithm>
using namespace std;
const int maxn =1e6+7;
const int num = 1e4+3;
int k = 1;
int p[maxn], prime[num];
void allPrime() {
for(int i = 2; i < maxn; i++){
if(!p[i]){
prime[k++] = i;
if(k > 10001) return;
for(int j = i + i; j < maxn; j += i) p[j] = 1;
}
}
}
int main(){
allPrime();
int cnt = 0;
int m,n;
cin >> m >> n;
for(int i = m; i <= n; i++){
cnt++;
cout<<prime[i];
if(cnt % 10 == 0 || cnt == n - m + 1) cout<<endl;
else cout<<" ";
}
return 0;
}