P3912 素数个数
#include <cstring>
#include <iostream>
using namespace std;
bool isPrime[100000010];
int sum, primes[100000010];
int main()
{
int n;
cin>>n;
memset(isPrime, true, sizeof(isPrime));
sum = 0;
for (int i = 2; i <= n; ++ i)
{
if (isPrime[i])
{
primes[sum ++] = i;
}
for (int j = 0; j < sum && i * primes[j] <= n; ++ j)
{
isPrime[i * primes[j]] = false;
if (i % primes[j] == 0)
{
break;
}
}
}
cout<<sum<<endl;
return 0;
}