Cod sursa(job #1107280)
| Utilizator | Data | 13 februarie 2014 19:38:51 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
# include <cstdio>
const int N = 2000000;
bool ciur [N + 1];
int n;
void init ()
{
freopen ("ciur.in", "r", stdin);
freopen ("ciur.out", "w", stdout);
scanf ("%d", & n);
}
void setCiur ()
{
int j;
int i;
for (i = 2; i * i <= n; i ++)
if (! ciur [i])
for (j = i * 2; j <= n; j += i)
ciur [j] = true;
}
void afiseaza ()
{
int rez = 0;
int i;
for (i = 2; i <= n; i ++)
if (! ciur [i])
rez ++;
printf ("%d", rez);
}
int main ()
{
init ();
setCiur ();
afiseaza ();
return 0;
}
