Cod sursa(job #1322898)

Utilizator MagnvsDaniel Constantin Anghel Magnvs Data 20 ianuarie 2015 15:05:25
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <bitset>
#include <fstream>

using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");

const int nmax = 2000000;

bitset <nmax+1> sift;

int main(  ) {
    int n;
    fin >> n;
    int sol = 0;
    for ( int i = 2; i <= n; ++ i ) {
        if ( sift[i] == 0 ) {
            ++ sol;
            for ( int j = 2*i; j <= n; j += i ) {
                sift[j] = 1;
            }
        }
    }
    fout << sol << "\n";

    return 0;
}