1 int countPrimes(int n) { 2 vector<bool> prime(n,true); 3 prime[1]=prime[0]=false; 4 for(int i=3;i<n;i++) 5 if(i%2==0) 6 prime[i]=false; 7 8 for(int i=3;i<sqrt(n);i++) 9 if(prime[i]) 10 for(int j=i*i;j<n;j+=i) 11 prime[j]=false; 12 13 return count(prime.begin(),prime.end(),true); 14 }