Pagini recente » Cod sursa (job #395983) | Cod sursa (job #2847714) | Cod sursa (job #750827) | Cod sursa (job #2684865) | Cod sursa (job #2796056)
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
#include <fstream>
ifstream fin ("ciur.in");
ofstream fout ("ciur.out");
#define MAXN 2000001
void solve() {
vector <bool> sieve (MAXN, 1);
int n, cnt = 0;
fin >> n;
int sqrt_n = sqrt(n);
for (int i = 2; i <= sqrt_n; ++i) {
if (sieve[i]) {
++cnt;
for (int j = i * i; j <= n; j += i) {
sieve[j] = false;
}
}
}
for (int i = sqrt_n + 1; i <= n; ++i)
cnt += sieve[i];
fout << cnt;
}
int main() {
fin.tie(NULL);
std::ios_base::sync_with_stdio(false);
solve();
}