Cod sursa(job #604741)

Utilizator octavianOctavian Crintea octavian Data 24 iulie 2011 20:13:54
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<cstdio>
using namespace std;

FILE *fin, *fout;

bool prim[2000001];

int main()
{
    int n, cnt=0, i, j;

    fin = fopen ("ciur.in", "r");
    fout = fopen ("ciur.out", "w");

    fscanf (fin, "%d", &n);

    for (i = 2; i <= n; i++)
        prim[i] = 1;

    for (i = 2; i <= n; i++)
        if (prim[i])
        {
            cnt++;

            for (j = i + i; j <= n; j +=i)
                prim[j] = 0;
        }

    fprintf (fout, "%d", cnt);

    fclose (fin); fclose (fout);

    return 0;
}