素数又叫质数, 有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
//求100个素数
#include <stdio.h>
#include <math.h>
#define N 100
int main()
{
int i, x, flag; //sum为计数输出多少个素数 ,x为从2开始计算
int sum = 0; //flag判断是否素数
for(x = 2; sum < N; x++)
{
flag = 1;
for(i = 2; i <= sqrt(x); i++)//用平方根增加效率,减少不必要计算
{
if(x % i == 0)
{
flag = 0; //这里判断x不是素数则直接break跳出内层循环
break;
}
}
if(flag)
{
printf("%d\t", x);
if(++sum % 5 == 0) //先++,然后每五列换一行
printf("\n");
}
}
return 0;
}