现将素数存到一个数组中,再取出第m个到第n个
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
bool prime(int a)
{
if(a==1)
return false;
if(a==2||a==3)
return true;
for(int i=2;i<=sqrt(a);i++)
{
if(a%i==0)
return false;
}
return true;
}
int main ()
{
int n,m;
cin>>m>>n;
int p[10005];
int k=0;
for(int i=2;k<n;i++)
{
if(prime(i)){
p[k]=i;
k++;
}
}
int count=0;
for(int i=m-1;i<n;i++)
{
cout<<p[i];
count++;
if(count%10!=0&&i<n-1)//每行不到十个数则输出空格
cout<<" ";
else if(count%10==0&&i<n-1)//每行满十个数则输出换行
cout<<endl;
}
cout<<endl;
return 0;
}