Cod sursa(job #1165534)

Utilizator andreiiiiPopa Andrei andreiiii Data 2 aprilie 2014 19:03:20
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <cstdio>
#include <bitset>

using namespace std;

bitset <2000005> v;

int main()
{
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);
    int n, i, j, sol=0;
    scanf("%d", &n);
    for(i=2;i*i<=n;i++)
    {
        if(!v[i])
        {
            for(j=i*i;j<=n;j+=i) v[j]=1;
        }
    }
    for(i=2;i<=n;i++) if(!v[i]) sol++;
    printf("%d\n", sol);
}