Cod sursa(job #1198050)

Utilizator lucian666Vasilut Lucian lucian666 Data 14 iunie 2014 13:25:29
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb



#include <fstream>
#include <bitset>
#include <algorithm>
#define NN 2000009

using namespace std;
ofstream out("ciur.out");


int n ;
int sol;

bitset < NN > uz;

void erat();

int main()
{
    ifstream in("ciur.in");

    erat();
    in >> n;

    for(int i=1;  i<=n ; i++)
        if( !uz[i]  )
            ++sol;

    out << sol << '\n';

    return 0;

}

void erat()
{
    uz[1] = 1;
    for( int i=2  ; i <=NN ; ++i )
        if( !uz[i] )
    {

        for( int j=( i<<1 ) ; j<=NN ; j+=i)
            uz[j] = 1;
    }

}