#include<stdio.h>
#include<math.h>
int main()
{
int i = 0;
int count = 0;
int n = 0;
for (i = 100; i <= 200; i++)
{
for (n = 2; n <= sqrt(i); n++)
{
if ((i%n) == 0)
break;
else if (n == sqrt(i))
{
printf("%d ", i);
}
}
}
return 0;
}
你会打出一些可以开方的数吧 比如121 169什么的
算法是 每个数 看2到这个数开方数 之内的 是否存在可以整除此数的数 存在 指示变量iflag 置0表示是合数 后边不会打印
下一轮要先把iflag重新置1
如果查完了2到这个数开方之内所有数 都不能整除它 那它就是素数 iflag不会被置0 后边打印出来
#include<stdio.h>
#include<math.h>
int main()
{
int i = 0;
int count = 0;
int n = 0;
int iflag = 0;
for (i = 100; i <= 200; i++)
{
iflag = 1;
for (n = 2; n <= sqrt(i); n++)
{
if ((i%n) == 0)
{
iflag = 0;
break;
}
}
if(iflag)
{
printf("%d ", i);
}
}
return 0;
}