我们知道,查找素数有很多种思路,以下是一个用接地气的算法,输出100以内的素数
#include <stdio.h>
int main()
{
int flag = 1;//标记:是素数 flag=1,不是素数 flag=0
// i:从 2 到 99 中找素数
for (int i = 2; i < 100; i++)
{
for (int j = 2; j < i; j++)//让 i 除以 2 到 i-1 之间的每一个数,看能否被整除
{
if (i % j == 0)//若被整除,则 i 为合数
{
flag = 0;
break;//跳出,检查下一个 i
}
}
if (flag==1)//若flag=1,说明没出现过 i%j = 0 的情况,i为质数,则输出i
printf("%d ", i);
else//出现了i%j = 0 的情况,flag=0,i为为合数,不输出,将flag变回1
flag = 1;
}
return 0;
}
运行结果如下:
写得应该够详细了吧