Cod sursa(job #1358438)

Utilizator vladburceaVlad Burcea vladburcea Data 24 februarie 2015 16:57:19
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <cstdio>
char ciur[2000000];
int n;
void prim()
{
    ciur[1]=1;
    int d=2,i;
    while(d*d<=n)
    {
        for(i=2;i*d<=n;i++)
            ciur[d*i]=1;
        d++;
        while(ciur[d]==1)
            d++;
    }
}
int main()
{
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    int i,cont=0;
    scanf("%d",&n);
    prim();
    for(i=1;i<=n;i++)
        if(ciur[i]==0)
            cont++;
    printf("%d",cont);
}