Cod sursa(job #1010644)

Utilizator nod_softwareBudisteanu Ionut Alexandru nod_software Data 15 octombrie 2013 13:08:54
Problema Ciurul lui Eratosthenes Scor 30
Compilator c Status done
Runda Arhiva educationala Marime 0.8 kb
#include <stdio.h>
#include <stdlib.h>
//------------------------------
void citire(int *iN)
{
    FILE * fin = fopen("ciur.in","r");

    fscanf(fin,"%d",iN);

    fclose(fin);
}
//------------------------------
int main()
{
    int iN,i;
    citire(&iN);

    int vPrimes[2000000];
    for (i=0; i<iN; i++)
        vPrimes[i]=0;

    for (i=2; i<=iN; i++)
    {
        if (vPrimes[i]==0)
        {
            int iJ=2,iNumber=i;

            while (iNumber*iJ<=iN)
            {
                vPrimes[iNumber*iJ]=1;
                iJ++;
            }
        }
    }

    FILE *fout= fopen("ciur.out","w");

    int iCount=0;
    for (i=2; i<=iN; i++)
        if (vPrimes[i]==0)
            iCount++;

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

    fclose(fout);

    return 0;
}