求素数的三种方法
其中都是如果p是素数返回整数1,如果不是素数返回整数0;
1.如果i在2到p-1之间任取一个数,如果n能被整除则不是素数,否则就是素数
int prime( int p )
{
int i,flag=1;
if(p<=1)
flag=0;
else{
for(i=2;i<=p-1;i++)
if(p%i==0){
flag=0;
break;
}
}
return flag;
}
2.如果i在2到p/2之间任取一个数,如果n能被整除则不是素数,否则就是素数
int prime( int p )
{
int i,flag=1;
if(p<=1)
flag=0;
else{
for(i=2;i<=p/2;i++)
if(p%i==0){
flag=0;
break;
}
}
return flag;
}
3.如果i在2到sqrt( p )之间任取一个数,如果p能被整除则不是素数,否则就是素数
int prime( int p )
{
int i,n,flag=1;
if(p<=1)
flag=0;
else{
n=sqrt(p);
for(i=2;i<=n;i++)
if(p%i==0){
flag=0;
break;
}
}
return flag;
}