Cod sursa(job #2849459)

Utilizator Mihai145Oprea Mihai Adrian Mihai145 Data 15 februarie 2022 10:40:43
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
//
// Created by Mihai145 on 2/15/2022.
//

#include <fstream>
#include <vector>

using namespace std;

ifstream cin("ciur.in");
ofstream cout("ciur.out");

const int VALMAX = 2e6;
bool is_composite[VALMAX + 2];
vector<int> primes;

void prec(int lim) {
    for(int i = 2; i <= lim; i++) {
        if(!is_composite[i]) { primes.push_back(i); }
        for(int j = 0; j < (int)primes.size() && i * primes[j] <= lim; j++) {
            is_composite[i * primes[j]] = true;
            if(i % primes[j] == 0) { break; }
        }
    }
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int N; cin >> N; prec(N);
    cout << primes.size() << '\n';

    return 0;
}