除利用循环外,已知:
1.偶数不为素数
2.一个数的因数小于等于该数的算数平方根
即可减少计算量。
具体效果看图。
可与前一篇文章中的算法进行比较。
#define<stdio.h>
#define<math.h>
int main()
{
int i;
int a;
int count = 0;
for (i=101; i <= 200; i+=2)
{
for (a=3;a<=sqrt(i);a++)
{
if (i % a == 0)
{
break;
}
}
if (a > sqrt(i))
{
count++;
printf("%d\n", i);
}
}
printf("总共有%d个\n", count);
return 0;
}