Cod sursa(job #893704)

Utilizator Alexghita96Ghita Alexandru Alexghita96 Data 26 februarie 2013 17:21:34
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <stdio.h>

int n, nrp;
char prim[2000005];

void Eratostene()
{
    for (int i = 2; i <= n; ++i)
    {
        prim[i] = 1;
    }
    for (int i = 2; i <= n; ++i)
    {
        if (prim[i])
        {
            ++nrp;
            for (int j = i * i; j <= n; j += i)
                prim[j] = 0;
        }
    }
}

int main()
{

    freopen ("ciur.in", "r", stdin);
    freopen ("ciur.out", "w", stdout);
    scanf("%d", &n);
    fclose(stdin);
    Eratostene();
    printf("%d", nrp);
    fclose(stdout);
    return 0;
}