#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
for (int i = 2; i <= 100; i++)
{
int sum = 0;//sum必须定义在里面,否则只能打印前两个素数
for (int j = 2; j < i; j++)
{
if (i % j == 0)
{
sum = 1;
break;
}
}
if (0==sum)
printf("%d\n", i);
}
return 0;
}
代码有进一步优化的地方,可以减少循环次数
1.如果c=a*b;一定有a和b中一个小于等于,另一个大于等于
2.所有的偶数(除了2)都不是质数
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
for (int i = 2; i <= 100; i+=2)
{
int sum = 0;//sum必须定义在里面,否则只能打印前两个素数
for (int j = 2; j < sqrt(i); j++)
{
if (i % j == 0)
{
sum = 1;
break;
}
}
if (0==sum)
printf("%d\n", i);
}
return 0;
}