#include<iostream>
using namespace std;
#include<string.h>
#define maxn 99999999
int vis[maxn];
int prime[maxn];
int num=0,n;
void GetPrime()
{
int i,j;
memset(vis,1,sizeof(vis));
for(i=2;i<=n;i++)
{
if(vis[i])
{
prime[++num]=i;
}
for(j=1;(j<=num)&&(i*prime[j]<=n);j++)
{
vis[i*prime[j]]=0;
if(i%prime[j]==0)break;
}
}
}
int main()
{
int i;
cin>>n;
GetPrime();
for(i=1;i<=num;i++)
cout<<prime[i]<<" ";
cout<<endl;
cout<<"素数的个数为:"<<num<<endl;
return 0;
}
素数打表
最新推荐文章于 2024-09-13 18:58:52 发布