#include <iostream>
using namespace std;
const int maxn=10000;
int prime[maxn];
bool is_prime[maxn+1];
int sieve(int n)//返回n以内素数的个数
{
int p=0;
for(int i=0;i<=n;i++)
is_prime[i]=true;
is_prime[0]=is_prime[1]=false;
for(int i=2;i<=n;i++)
{
if(is_prime[i])
{
prime[p++]=i;
for(int j=2*i;j<=n;j+=i)
is_prime[j]=false;
}
}
return p;
}
int main()
{
int len=sieve(10);
cout<<"10以内的素数的个数为: "<<len<<endl;
cout<<"它们分别是: "<<endl;
for(int i=0;i<len;i++)
cout<<prime[i]<<endl;
return 0;
}
转载于:https://www.cnblogs.com/sr1993/p/3697948.html