Pagini recente » Cod sursa (job #466799) | Cod sursa (job #307280) | Cod sursa (job #2193190) | Cod sursa (job #2320968) | Cod sursa (job #2376918)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 1000001;
bool sieved[NMAX];
void compute_sieve(int n) {
for (int i = 1; ((i * i) << 1) + (i << 1) <= n; ++i) {
if (!sieved[i]) {
for (int j = ((i * i) << 1) + (i << 1); (j << 1) + 1 <= n;
j += (i << 1) + 1) {
sieved[j] = true;
}
}
}
}
int main() {
stdin = freopen("ciur.in", "r", stdin);
stdout = freopen("ciur.out", "w", stdout);
int N;
cin >> N;
compute_sieve(N);
int primes_found = 0;
for (int i = 0; i < N / 2; ++i) {
if (!sieved[i]) {
primes_found++;
}
}
cout << primes_found;
}