Cod sursa(job #2886615)

Utilizator Mihai_EduardMihai Eduard Mihai_Eduard Data 7 aprilie 2022 22:42:37
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");
const int NMAX=20000005;

int N;
bool ciur[NMAX];

void computeCiur(){
    ciur[0]=true;
    ciur[1]=true;
    for(int i=2;i*i<=N;i++){
        if(ciur[i]==false){
            for(int j=2;j<=N/i;j++)
                ciur[i*j]=true;
        }
    }
}

int main()
{
    fin>>N;
    computeCiur();
    int sol=0;
    for(int i=2;i<=N;i++)
        if(ciur[i]==false)
            sol++;
    fout<<sol;

    fin.close();
    fout.close();
    return 0;
}