Cod sursa(job #905371)

Utilizator MIonutMistreanu Ionut MIonut Data 5 martie 2013 19:38:38
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<cstdio>
#include<cmath>
#include<bitset>
using namespace std;
int n,k;
bitset<2000004>prim;
int main()
{
    freopen("ciur.in","r",stdin);
    scanf("%d",&n);
    for(int i=4; i<=n; i+=2) prim[i]=1;
    for(int i=3; i*i<=n; i+=2)
    {
        if(!prim[i])
        {
            for(int j=3; i*j<=n; ++j)
                prim[i*j]=1;
        }
    }
    freopen("ciur.out","w",stdout);
    for(int i=2;i<=n;++i)
        if(!prim[i])   k++;
    printf("%d\n", k);
    return 0;
}