Pagini recente » Cod sursa (job #361974) | Cod sursa (job #148125) | Cod sursa (job #2626230) | Cod sursa (job #475338) | Cod sursa (job #2376904)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 1000001;
int primes_found;
bool sieved[NMAX];
void compute_sieve(int n) {
primes_found = n / 2;
sieved[0] = true;
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) {
if (!sieved[j]) primes_found--;
sieved[j] = true;
}
}
}
}
int main() {
stdin = freopen("ciur.in", "r", stdin);
stdout = freopen("ciur.out", "w", stdout);
int N;
cin >> N;
compute_sieve(N);
cout << primes_found;
}