Cod sursa(job #2792734)

Utilizator francescom_481francesco martinut francescom_481 Data 2 noiembrie 2021 11:19:33
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");
#define cin fin
#define cout fout

#define N 2000005
bitset < N > f;
int n, nr;

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

int main()
{
    cin>>n;
    fa(n);
    for(int i = 1 ; i <= n ; i++)
    {
        if(f[i] == 0)nr++;
    }
    cout << nr ;
    return 0;
}