#include<stdio.h>
main()
{
int i,j;
for(i=100;i<=200,1++)//将需要判断的数字进行遍历
{
//判断i是否为素数
//试除法
int j=0;
for(j=2;j<i;j++)
{
if(i%j=0)
{
break;
}
}
if(j==i)
{
count++;
printf("%d",i);
}
}
printf("\ncount=%d\n",count);
return 0;
}
进行代码优化:
如果一个数字i不是素数 则一定可以写成a×b的形式 那么a和b中一定有一个数小于等于i的平方根
#include<stdio.h>
#include<math.h>
main()
{
int i,j;
for(i=100;i<=200,1++)//将需要判断的数字进行遍历
{
//判断i是否为素数
//试除法
int j=0;
for(j=2;j<sqr(i);j++)//用math库里面的sqr开平方
{
if(i%j=0)
{
break;
}
}
if(j>sqr(i))
{
count++;
printf("%d",i);
}
}
printf("\ncount=%d\n",count);
return 0;
}
程序经过优化最多只用执行i的平方根次 从而大大提高了程序的效率
//更优解
//数字遍历时跳过偶数
for(i=101;1<=200;1+=2)