Cod sursa(job #2575621)

Utilizator PopescuAndreiAlexandruPopescu Andrei Alexandru PopescuAndreiAlexandru Data 6 martie 2020 14:40:52
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda imded Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <stack>
#include <cstring>

using namespace std;

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

const int DIM = 2000002;

int n,ans=0;

bool viz[DIM+5];

int main()
{
    fin>>n;
    for(int i=2;i*i<=DIM;i++)
    {
        if(!viz[i])
        {
            for(int j=i;j<=DIM;j++)
            {
                if(i*j<=DIM)
                    viz[i*j]=1;
                else
                    break;
            }
        }
    }
    for(int i=2;i<=n;i++)
    {
        if(!viz[i])
            ans++;
    }
    fout<<ans<<'\n';
}