Cod sursa(job #2637829)

Utilizator mihai.constantinConstantin Mihai mihai.constantin Data 25 iulie 2020 10:40:55
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <cmath>
using namespace std;

int C[2000001];

int ciur(int n) {

    int nr = 0;
    
    C[0] = C[1] = 1;

    for (int i = 2; i <= sqrt(n); i++) {
        if (!C[i]) { // daca i este prim
            // elimin toti multiplii lui i
            for (int j = i * i; j <= n; j += i) {
                C[j] = 1;
            }
        }
    }

    for (int i = 2; i <= n; i++) {
        if (!C[i]) {
            nr++;
        }
    }

    return nr;
}


int main()
{
    int n;
    cin >> n;

    cout << ciur(n) << '\n';

    
    
    return 0;
}