Cod sursa(job #996730)

Utilizator vlad.ulmeanu30Ulmeanu Vlad vlad.ulmeanu30 Data 12 septembrie 2013 15:56:34
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.58 kb
#include<stdio.h>

char v[2000000];

FILE *f, *g;

int main()
{
    int n;

    f=fopen("ciur.in","r");
    g=fopen("ciur.out","w");

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

    ciur(n);

    fclose(f);
    fclose(g);

    return 0;
}
void ciur(int z)
{
    int d=2,x;
    int i=0,nr=0;

    for(d=2;d*d<=z;d++)
    {
        if(v[d]==0)
        {
            for(x=d*d;x<=z;x+=d)
            {
                v[x]=1;
                i--;
            }

        }
    }

    for(i=2;i<=z;i++)
        if(v[i]==0)
            nr++;

    fprintf(g,"%d\n",nr);
}