关于c++素数的问题,请大家帮忙啊!

来源:百度知道 编辑:UC知道 时间:2024/06/05 11:00:47
下面是从C语言上搬的求素数的方法,为什么还是不行呢,请大家帮帮忙啊!
int is_prime(int x)
{
int i,k;
k=sqrt(x);
for(i=2;i<=k;i++)
{
if(x%i==0) break;
else(i>k);
return x;

}

}

int is_prime(int x)
{
int i,k;
k=sqrt(x);
for(i=2;i<=k;i++)
{
if(x%i==0) break;
}
if (i=k+1) return 1; //for正常结束,i=k+1;是素数,用1表示
else return 0 //非正常结束,for执行了break,不是素数,用0表示
}

int is_prime(int x)
{
int i=0,k;
if(x<2) return 0;//不是素数
if(x==2 || x==3) return 1;//是素数
k=sqrt(x);
for(i=2;i<=k;i++)
{
if(x%i==0) return 0;//不是素数
}
return 1; //是素数
}

int is_prime(int x)
{
int i,k;
k=sqrt(x);
for(i=2;i<=k;i++)
{
if(x%i==0) break;
else if(i>k)/*修改这里*/
return x;

}

}

你是求X是素数还是K?
如果是K的话,下面
int is_prime(int x)
{
int i,k;
k=sqrt(x);
for(i=2;i<k;i++)
{
if(k%i==0) break;

}
if(k==i)
return k;

}

如果是X,则:

int is_prime(int x)
{
int i;

for(i=2;i<x;i++)