Pagini recente » Cod sursa (job #49557) | Cod sursa (job #2822178) | Cod sursa (job #1157442) | Cod sursa (job #1049913) | Cod sursa (job #2558367)
#include <fstream>
std::ifstream f("ciur.in");
std::ofstream g("ciur.out");
const int NMAX = 2000005;
int n,s[NMAX];
bool prime[NMAX];
void sieve(){
prime[0] = prime[1] = 1;
for(int i = 4;i <= n;i += 2)
prime[i] = 1;
for(int i = 3;i * i <= n;i += 2)if(!prime[i])
for(int j = i + i;j <= n;j += i)
prime[j] = 1;
}
int main(){
f >> n;
sieve();
for(int i = 1;i <= n;++i)
s[i] = s[i - 1] + !(prime[i]);
g << s[n];
return 0;
}