打印100-200之间的所有素数
#include <stdio.h>
int main()
{
int i;
int count=0;
for(i=100;i<=200;i++)
{
int j=0;
for(j=2;j<i;j++)
{
if(i%j==0)
{
break;
}
}
if(j==i)
{
printf("%d ",i);
count++;
}
}
printf("\n%d",count);
return 0;
}
优化后
#include <stdio.h>
#include<math.h>
int main()
{
int i;
int count = 0;
//一个数等于两个数相乘
//M=A*B 那么A和B中一定有一个数小于等于M的平方差sqrt(M)
for (i = 101; i <= 200; i+=2)
{
int j = 0;
int flag = 1;
for (j = 2; j <= sqrt(i); j++)
{
if (i % j == 0)
{
flag = 0;
break;
}
}
if (flag==1)
{
printf("%d ", i);
count++;
}
}
printf("\n%d",count);
return 0;
}