Cod sursa(job #2272738)

Utilizator TudorskiSintoma Tudor Tudorski Data 30 octombrie 2018 17:02:33
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#define NMAX 2000005
#define LL long long
#include <vector>
#include <bitset>
#include <fstream>

using namespace std;
ifstream fin( "ciur.in" );
ofstream fout( "ciur.out" );
bitset<NMAX> isprime;
vector <int> pr;
void ciur () {
    for ( LL i = 2;i <= NMAX; i++ ) {
        if ( isprime [i] == 0 ){
            for ( LL j =i * i; j <= NMAX; j += i) {
                isprime [j] = 1;
            }
            pr.push_back(i);
        }
    }
}

int main()
{
    int n, cont = 0;
    fin >> n;
    ciur();
    for ( int i = 0; pr[i] <= n && pr[i]!=0; i++) {
        cont = cont + 1;
    }
    fout << cont;
    return 0;
}