输入样例:
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;
const int maxn=20005;
bool isPrime(int n)
{
if(n==2||n==3)
return true;
for(int i=2;i*i<=n;i++){
if(n%i==0)
return false;
}
return true;
}
int main()
{
int N,M;
cin>>M>>N;
int Primes[maxn];
for(int i=2,j=1;i<=110000;i++){
if(isPrime(i)){
Primes[j]=i;
j++;
}
}
for(int i=M;i<=N;i++){
if((i-M)%10!=9&&i!=N){
cout<<Primes[i]<<' ';
}else if((i-M)%10==9&&i!=N){
cout<<Primes[i]<<endl;
}else if(i==N){
cout<<Primes[i];
}
}
return 0;
}