首页 > 编程知识 正文

判断是否为质数c语言,c语言求素数0到100的素数

时间:2023-05-06 18:17:36 阅读:50337 作者:3633

#includeiostream

#include'math.h '

用户命名空间STD;

判断是否为boolisprimenumber(intnumber )//素数

floatsqrtofnum=sqrt(number );

for(intj=2; j=sqrtOfNum; 从j//2到number的算术平方根迭代

判断if(number/j*j==number )/j是否为number的因子

返回假;

返回真;

}

voidprintnum(intnumber )//打印=number的所有素数

int j=0;

for(intI=2; i=number; I )

if(isprimenumber(I )==true ) {

cout('%-5d ',I ) ';

j;

if(j==0)//每10位换行一次

coutendl;

}

}

int main () )。

长启动=time (null;

cout(bool ) isprime number (29 ) endl;

打印机(1000;

长时间=时间(空);

cout endl ' time spent : ' (结束开始1 ) endl;

}

扩展数据:

C 100以内的质数代码:

#includeiostream

#includemath.h

用户命名空间STD;

常数int n=300;

bool prime[N]; //布尔数组变量0,1

语音高级(Inta );

void打印优先级(;

//主函数

int main () )

{

主编号(n;

printPrimeNum (;

返回0;

}

得到//n以内的素数

语音高级(inta )。

{

int i,j,n=0;

for(I=2; ia; I )//在第一次筛选中去除2的倍数

{

if(I%2)主映像=true;

else primei=false;

}

for(I=3; I=sqrt () double ); I )/double(n )强制将n转换为双精度整数,并求出平方根I=3、5、7、9

{

是if(primei )

for(j=2*I; jN; j=i ) prime[j]=false;//第二次筛选相当于j=ni,去除3,5,7 .的倍数

() ) /经过二轮筛查,相当于去掉了2、3、5、7…的倍数

}

打印//n以内的像素数

void打印高级版(

{

int i,n=0,primeList[N];

for(I=2; iN; I )

if(I==2)|(primei ) primeList[n]=i,n;

计数'内的素数的个数分别为' nendl '、' endl;

for(I=0; in; I ) coutprimeListi ';

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。