Cod sursa(job #3214487)

Utilizator 1gbr1Gabara 1gbr1 Data 14 martie 2024 10:07:44
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <queue>
#include <iostream>
#include <bitset>
using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");
const int N = 2e6;
bitset<N> ciur;
void create()
{
    ciur[0] = ciur[1] = 1;
    for (int i = 4; i <= N; i += 2)
        ciur[i] = 1;
    for (int i = 3; i * i <= N; i += 2)
        if (!ciur[i])
            for (int j = i * i; j <= N; j += 2 * i)
                ciur[j] = 1;
}
int main()
{
    create();
    int n;
    fin >> n;
    int cnt = 0;
    for (int i = 1; i <= n; i++)
    {
        if (ciur[i] == 0)
            cnt++;
    }
    fout << cnt;
    return 0;
}