Cod sursa(job #793256)

Utilizator TeodoraTanaseTeodora Tanase TeodoraTanase Data 2 octombrie 2012 13:33:49
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <cstdio>

#define LGMAX 2000003

using namespace std;

FILE *inFile = fopen ("ciur.in", "r");
FILE *outFile = fopen ("ciur.out", "w");

char s[LGMAX];

int sieve(int x)
{
    int nr = 0;

    for (int i = 2; i <= x; ++i)
        if (s[i] == 0)
        {
            for (int j = 2 * i; j <= x; s[j] = 1, j += i);
            ++nr;
        }

    return nr;
}

int main()
{
    int n;
    fscanf (inFile, "%d", &n);

    fprintf (outFile, "%d\n", sieve(n));

    return 0;
}