Cod sursa(job #1679039)

Utilizator TudorVersoiuVersoiu Tudor Sorin TudorVersoiu Data 7 aprilie 2016 17:27:34
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream>
#include <fstream>
#include <bitset>
#include <cmath>

using namespace std;
ifstream f("ciur.in" );
ofstream g("ciur.out");

int N, k;
bitset<2000005> ciur;


int main() {
    f >> N; int sqroot = sqrt(double(N));

    ciur.set();

    for ( int i=1 ; i<=sqroot ; i++ )
        for ( int j=2 ; j*i <= N ; j++ )
            ciur[i*j].flip();

    for ( int i=2 ; i<=N ; i++ )
        if ( ciur[i] ) k++;

    g << k;
}