原题 给一个整数n 寻找下2-n有多少个质数
代码如下:
int countPrimes(int n) {
int *flag;
int result=0;
if(n<=1)
return result;
flag=(int*)malloc(sizeof(int)*(n+1));
memset(flag,0,sizeof(int)*(n+1));
for(int l=2;l<n;l++)
{
if(*(flag+l)==1)
{
continue;
}
else
{
result++;
}
for(int m=l+l;m<n;m=m+l)
{
*(flag+m)=1;
}
}
return result;
}
就是不停的遍历而已。然后不断的做标记。