Pagini recente » Cod sursa (job #1744073) | Cod sursa (job #2390029) | Cod sursa (job #3037483) | Cod sursa (job #2922583) | Cod sursa (job #2660029)
#include <iostream>
#include <fstream>
#include <bitset>
const int NMAX = 2e6;
int n;
std::bitset<NMAX> sieve;
void read() {
std::ifstream in("ciur.in");
in >> n;
in.close();
}
int main() {
read();
int cnt = 1; // first number is 2
for (int i = 3; i * i <= n; i += 2) {
if (!sieve[i]) {
for (int j = i * i; j <= n; j += 2 * i)
sieve[j] = true;
}
}
for (int i = 3; i <= n; i += 2) {
if (!sieve[i])
++ cnt;
}
std::ofstream out("ciur.out");
out << cnt << '\n';
out.close();
return 0;
}