Cod sursa(job #190534)

Utilizator Dr.OptixCristian Dinu Dr.Optix Data 22 mai 2008 23:16:03
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.15 kb
/* ========================================================================== */
/*                                                                            */
/*   Ciurul lui Eratosthenes.cpp                                              */
/*   (c) 2008 Dr.Optix                                                        */
/*                                                                            */
/*   This is the implementation of Eratosthenes' shive. This programm returns */
/*   return the prime numbers smaller or equal to N                           */
/* ========================================================================== */

//include the headers
#include <stdio.h>

//global variables
int N, count;
char prim[2000005];

int main(void)
{
    int i, j;

    FILE *fin=fopen("ciur.in", "r");
    FILE *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])
        {
            ++count;
            for (j = i+i; j <= N; j += i)
                prim[j] = 0;
        }

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

    return 0;
}