用C语言编写一段程序判断一个整数是否是素数。

如题所述

C语言程序如下:

#include<stdio.h>

int main()

{

int i,j,k=0;

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

{

for(j=2;j*j<=i;j++)

if(i%j==0)

break;

if(j*j>i)

{

printf("%d  ",i);

k++;

if(k%5==0)

printf("\n");

}

}

}

扩展资料:

C语言判断素数的思路

思路1:因此判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。

思路2:另外判断方法还可以简化。m 不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~ √m
之间的每一个整数去除就可以了。

如果 m 不能被 2 ~√m间任一整数整除,m 必定是素数。例如判别 17 是是否为素数,只需使 17 被 2~4 之间的每一个整数去除,由于都不能整除,可以判定 17 是素数。

原因:因为如果 m 能被 2 ~ m-1 之间任一整数整除,其二个因子必定有一个小于或等于√m 
,另一个大于或等于√m。例如 16 能被 2、4、8 整除,16=2*8,2 小于 4,8 大于 4,16=4*4,4=√16,因此只需判定在 2~4 之间有无因子即可。
温馨提示:答案为网友推荐,仅供参考
相似回答