Cod sursa(job #1107280)

Utilizator mihail.jianuJianu Mihail mihail.jianu 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;
}