Cod sursa(job #1875945)
| Utilizator | Data | 11 februarie 2017 20:06:04 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include <bits/stdc++.h>
const int kMaxN = 2000000;
int v[kMaxN + 1];
int main()
{
int n;
freopen("ciur.in", "rt", stdin);
freopen("ciur.out", "wt", stdout);
scanf("%d", &n);
for (int i = 3; i * i <= n; i += 2) {
if (!v[i]) {
for (int j = i * i; j <= n; j += i) {
v[j] = 1;
}
}
}
int ctr = 1; //2 included
for (int i = 3; i <= n; i += 2) {
if (!v[i]) ++ctr;
}
printf("%d\n", ctr);
return 0;
}
