C语言 判定是否为素数

发布网友 发布时间:2022-04-21 20:14

我来回答

1个回答

热心网友 时间:2023-05-08 12:49

for(i=2;i<data;i++)
if(data%i!=0)
cnt++;//素数的个数
else
break;

你这样肯定是不行的。
这样只要找到一个不能整除的数,就判断为了素数,比如data为9,你循环到2,9%2!=0,那么你cnt++了

下面这个算法是对的。
for(i=2;i<=half;i++)
if(data%i==0)
break;
//说明从2到data/2
中间存在一个可以整除data的数,那么不是素数。
if(i>half)
{xx[n]=data;n++;} //i>half
说明循环到
data/2都没找到一个可以整除的
数,那么这个数就是素数了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com