素数的几种求法
1.普通法求素数
3 int Is_Prime(int n)
4 {
5 int i;
6 if(n==2)
7 return 1;
8 if(n<2||n%2==0)
9 return 0;
10 for(i=3;i*i<=n;i=i+2)
11 if(n%i==0)
12 return 0;
13 return 1;
14 }
2.筛选法求素数
int primer[N];
void GetPrimer(int m)
{
int i;
for(i=1;i<=m;i++)
{
if(i%2==1)
primer[i]=1;
else if(i==2)
primer[i]=1;
else
primer[i]=0;
}
for(i=3;i<=sqrt(m);i+=2)
if(primer[i])
for(j=i+i;j<=m;j+=i)
primer[j]=0;
for(i=1;i<=m;i++)
if(primer[i])
printf("%3d",i);
}