Cod sursa(job #1170163)

Utilizator bciobanuBogdan Ciobanu bciobanu Data 12 aprilie 2014 19:39:14
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>
#include <bitset>
static const int NMAX=2000005;
std::bitset<NMAX> V;
int ciur(int limit)
{
    int i,j,ii,nrprime=1; // il includ pe 2
    for(i=3;i<=limit;i+=2)
    {
        if(!V[i])
        {
            ++nrprime;
            ii=i<<1;
            for(j=i*3;j<=limit;j+=ii) V[j]=true;
        }
    }
    return nrprime;
}
int main()
{
    FILE *in=fopen("ciur.in","rt"),*out=fopen("ciur.out","wt");
    int n;
    fscanf(in,"%d",&n);
    fclose(in);
    fprintf(out,"%d\n",ciur(n));
    fclose(out);
}