求素数(循环结构)

  • Post author:
  • Post category:其他

素数又叫质数,素数是指在大于1的自然数中,除了1和它本身以外,不能被其他自然数整除的数。

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

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

#include <stdio.h>

int main ()

{ int n;

scanf(“%d”,&n);

int flag=1;

if(n==1)

{

flag=0; //如果n=1,flag=0,即不是素数。单独讨论1和2.

}

if(n>2)

{

for(int i=3;i<n;i++)

{

if(n%i==0)

{

flag=0;

break;

}

}

}

if(flag==0)

printf(“%d不是素数”,n);

else

printf(“%d是素数”,n);

return 0;

}


版权声明:本文为weixin_74763013原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。