/************************************************************************/
/* 求指定数据范围内的所有素数 */
/************************************************************************/
#include<iostream>
using namespace std;
class primeNum{
int *data;//存放素数的指针
int pos1,pos2;//指定数据的范围
int num;//素数个数
public:
primeNum(int p1,int p2){
data=new int[num]; //动态创建存储空间
pos1=p1;
pos2=p2;
num=0;
}
int isPrime(int x);
void getPrime();
void show();
};
int main(){
primeNum pri(100,300);
pri.getPrime();
pri.show();
return 0;
}
//当不能被整除的就是素数 返回1
int primeNum::isPrime(int x){
int num=x;
for(int i=2;i<num/2;i++)
if(x%i==0)
return 0;
return 1;
}
//将素数存放在数组中
void primeNum::getPrime(){
for(int i=pos1;i<pos2;i++){
if(isPrime(i)){
data[num++]=i;
}
}
}
//每行显示5个
void primeNum::show(){
cout<<"num="<<num<<endl;
int k=0;
for(int i=0;i<num;i++){
cout<<data[i]<<" ";
k++;
if(k%5==0)
cout<<endl;
}
}