Cod sursa(job #2398289)

Utilizator KernelovicNegrean Victor Kernelovic Data 5 aprilie 2019 11:47:30
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <cstdio>
#include <cmath>

using namespace std;

bool prime[2000001];

// 1 = multiplii, 0 = prime

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

    int nr; cin >> nr;
    int counter = 0;

    for(int i = 2; i <= sqrt(nr); i++)
    {
        if(prime[i]) continue;

        for(int j = i * 2; j <= nr; j += i)
        {
            prime[j] = 1;
        }
    }

    for(int i = 2; i <= nr; i++)
    {
        if(prime[i] == 0) counter++;
    }

    cout << counter;
}