Cod sursa(job #793548)
Utilizator | Data | 3 octombrie 2012 15:13:46 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 60 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
#include <cstdio>
#include <cmath>
int N, nr=0;
bool v[2000010];
int main () {
freopen("ciur.in","rt",stdin);
freopen("ciur.out","wt",stdout);
scanf("%d", &N);
int n = N;
for (int i=2; i<=n; ++i) {
if (!v[i]) ++nr;
for (int k=i*2; k<=n; k+=i)
v[k] = true;
}
printf("%d", nr);
return 0;
}