第1个回答 2011-08-13
#include<stdio.h>
#include<math.h>
bool isprime(int a)
{
int t=(int)sqrt(a+1);//如果写sqrt(a)那么sqrt(4)可能等于1.99999999,取整后是1,所以不妨取sqrt(a+1)
//如果写成for(int i=2;i<=sqrt(a+1);i++)那么每次循环都要判断i<=sqrt(a+1),计算sqrt浪费时间,所以用变量t
for(int i=2;i<=t;i++)
if(a%i==0)return false;
return true;
}
void main()
{
for(int i=100;i<200;i++)
if(isprime(i))
printf("%d\n",i);
}