Cod sursa(job #2780898)

Utilizator Fantastic_Mantudor voicu Fantastic_Man Data 8 octombrie 2021 09:35:28
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
#include <bitset>
using namespace std;
const int NMAX = 2e6;
bitset <NMAX + 1> ciur;
ifstream fin ( "ciur.in" );
ofstream fout ( "ciur.out" );
int main () {
    int n, i, j, cate;
    fin >> n;
    for ( i = 3; i * i <= n; i += 2 )
        if ( ciur[i] == 0 )
            for ( j = i * i; j <= n; j += i )
                ciur[j] = 1;
    cate = 1;
    for ( i = 3; i <= n; i += 2 )
        cate += 1 - ciur[i];
    fout << cate << '\n';
    
    return 0;
}