Cod sursa(job #3213664)

Utilizator PalcPalcu Stefan Palc Data 13 martie 2024 12:36:59
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;

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

bitset<2000005> C;

int Ciur(int N)
{
    int sol = N, i, j;
    C[1] = 1;
    sol--;
    for (i = 4; i <= N; i += 2)
    {
        C[i] = 1;
        sol--;
    }
    for (i = 3; i * i <= N; i++)
        if (C[i] == 0)
            for (j = i * i; j <= N; j += 2 * i)
                if (C[j] == 0)
                {
                    C[j] = 1;
                    sol--;
                }
    return sol;
}

int main()
{
    int n;
    fin >> n;
    fout << Ciur(n) << "\n";
}