Cod sursa(job #3297292)

Utilizator Arhiva_EducationalaArhiva Educationala Arhiva_Educationala Data 22 mai 2025 13:27:55
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>

using namespace std;

const int NMAX = 2e6;

bitset <NMAX + 1> ciur;

int main() {
    ifstream fin( "ciur.in" );
    ofstream fout( "ciur.out" );
    int n, cnt = 0;
    fin >> n;
    ciur[0] = ciur[1] = 1;
    for ( int i = 2; i * i <= n; i ++ ) {
        if ( !ciur[i] ) {
            for ( int j = i * i; j <= n; j += i ) {
                ciur[j] = 1;
            }
        }
    }
    for ( int i = 1; i <= n; i ++ ) {
        if ( !ciur[i] ) cnt ++;
    }
    fout << cnt << '\n';
    return 0;
}