Cod sursa(job #2762839)

Utilizator Teodor_AxinteAxinte Teodor-Ionut Teodor_Axinte Data 9 iulie 2021 17:21:03
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <iostream>
#include <bitset>

using namespace std;

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

int n, ans;
bitset<2000010> b;

void ciur() {
    b[0] = b[1] = 1;
    for (int i = 4; i <= 2000000; i += 2)
        b[i] = 1;
    for (int i = 3; i * i <= 2000000; i += 2)
        if (!b[i])
            for (int j = i * i; j <= 2000000; j += i)
                b[j] = 1;
}

int main() {
    ciur();
    fin >> n;
    for (int i = 2; i <= n; i++)
        if (b[i] == 0)
            ans++;
        
    fout << ans;

    return 0;

}