Cod sursa(job #2737232)

Utilizator AlexGFXMatei Alexandru AlexGFX Data 4 aprilie 2021 16:00:45
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

int N;
bool arr[2000002];

bool prim(int x) {
    for(int i = 2; i <= sqrt(x); i++) {
        if (x % i == 0) {
            return false;
        }
    }
    return true;
}

int main() {

    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);

    cin >> N;

    int ans = 0;

    for(int i = 2; i <= N; i++) {
        if(!arr[i]) {
            if(prim(i)) {
                ans++;
                for(int j = i; j <= N; j += i) {
                    arr[j] = true;
                }
            }
        }
    }

    cout << ans;

}