Cod sursa(job #2870370)

Utilizator LukyenDracea Lucian Lukyen Data 12 martie 2022 12:00:13
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");

int main()
{
    int n;
    fin >> n;
    bitset<2000010> frecv;

    int rez = 1, i = 3;
    for (i = 3; i*i <= n; i+=2)
    {
        if (frecv[i] == 0)
            rez++;
        for (int j = i*2; j <= n; j+=i)
            frecv[j] = 1;
    }
    for (i; i<=n; i+=2)
        if (frecv[i] == 0)
            rez++;
    fout << rez;

    return 0;
}