c语言中如何求素数

c语言中如何求素数

楼上的还可以具体一些,其实非常简单,如果一个数是素数,只要判断他是否能被2到这个数的开方之间的数整除就行了。
int flag=0;

if(m==2){ //先判断是不是2
flag=1;
}

else{
for(int i=2;i<=sqrt(m);i++){
flag=1;
if(m%i==0){ //不是素数
flag=0;
break;
}
}
}

return (flag==1)?m:-1; //判断是否为1,为1输出m,否则输出-1 ,-1表示不是素数

如果是求某个范围的素数,可以连续调用这个方法,上面是常规的方法,还有更好的方法自己去查一下。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-22
算到算数平方根,这样做是为了提高效率啊,如,求121是不是素数,你不用去用121除以2到120(这样会做119次除法计算,这样效率就低了)。。。你算到它的算数平方根还没有找到它的一个因数,这就可以说它是素数了,
这是有人在数学上证明过了的
第2个回答  2020-01-03
你想下假如对8取余8/2==4,5以后的数字能整除8吗,为了提高效率,只要到4就行了,其实你理解错了,哪是这一句是判断方法啊,
第3个回答  2011-05-21
for(i=2;i<m/2;i++)
{
if(m%i==0)
{
break;
}
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网