#include<stdio.h>
using namespace std;
bool is_p[100000005];
int prime[100000005];
int solve(int n){
int k=0;
for(int i=2;i<=n;i++)
is_p[i]=true;
for(int i=2;i<=n;i++){
if(is_p[i]) prime[k++]=i;
for(int j=0;j<k and i*prime[j]<=n;j++){
is_p[i*prime[j]]=false;
if(i*prime[j]==0) break;
}
}
}
int main()
{
int m;
scanf("%d",&m);
solve(m);
if( is_p[m] ) printf("是素数");
else printf("不是素数");
return 0;
}
664

被折叠的 条评论
为什么被折叠?



