详细参考网址如下:
https://blog.csdn.net/qq_41979043/article/details/89031285
int countPrimes(int n){
int count = 0,s = sqrt(n);
int *arr = malloc(sizeof(int)*n);
if(n>2)
{
for(int i=2;i<n;i++)
arr[i]=1;
for(int i=2;i<=s;i++)
if(arr[i]){
for(int j=i*2;j<n;j+=i)
arr[j]=0;
}
}
for(int i=2;i<n;i++)
{
if(arr[i])
count++;
}
return count;
}