Cod sursa(job #2395974)

Utilizator CezarTDTodirisca Cezar CezarTD Data 3 aprilie 2019 09:12:16
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
#define N 2000010
using namespace std;

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

bool v[N];
int n,nr;

void Ciur()
{
    v[1]=1;
    for(int i=4;i<=N;i+=2)v[i]=1;
    for(int i=3;i*i<=N;i+=2)
    {
        if(!v[i]){
            for(int j=3*i;j<=N;j+=(2*i))v[j]=1;
        }
    }
    if(n<2)nr=0;
    else{
        nr=1;
        for(int i=3;i<=n;i+=2)if(!v[i])nr++;
    }
}

int main()
{
    fin>>n;
    Ciur();
    fout<<nr;
    return 0;
}