#include <iostream>
#include <iomanip>
using namespace std;
int main(void)
{
const int M=200;
const int N=((M+1)/2);
int i,j,a[N];
a[0] = 2;
for(i=1;i<(N-1);i++) //初始数组实现第一步筛选
a[i] = 2*i+1;
for(i=1;i<(N-1);i++) // 第二步筛选
if(a[i]!=0)
for(j=i+1;j<N;j++)
if(a[j]%a[i]==0) // 倍数时置零筛去
a[j]=0;
cout<<"The primer are [2-"<<M<<"]:\n";
for(i=0,j=0;i<N;i++) //显示得到的素数
{
if(a[i]!=0)
{
cout<<setw(5)<<a[i]; //输出素数m,字段宽度为5
j++; //n用来累计输出素数的个数
if(j%10==0) cout<<endl; //输出10个数后换行
}
}
return 0;
}
运行结果: