Cod sursa(job #3209777)

Utilizator andreipirjol5Andrei Pirjol andreipirjol5 Data 3 martie 2024 15:17:12
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream fin ("ciur.in");
ofstream fout ("ciur.out");

const int NMAX = 2 * (1e6);
vector <bool> ciur;

void Ciur(int n)
{
    ciur[1] = 1;
    for(int i = 2; i * i <= n; i++)
        if(ciur[i] == 0)
        for(int j = 2 * i; j <= n; j += i)
            ciur[j] = 1;
}

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

    ciur.resize(n + 5);
    Ciur(n);

    int cnt = 0;

    for(int i = 1; i <= n; i++)
        if(ciur[i] == 0)
        cnt++;

    fout << cnt;

    fin.close();
    fout.close();
    return 0;
}