Cod sursa(job #2701452)

Utilizator TitanVSirbu Vlad stefan TitanV Data 31 ianuarie 2021 12:31:05
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>

using namespace std;

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

bool a[2000000];
int n;


void eratosthenes(int nrp, int n)
{
    int i=2;
    while(nrp*i<=n)
    {
        a[nrp*i]=1;
        i++;
    }

    while(nrp<=n)
    {
        nrp++;
        if(!a[nrp])
            eratosthenes(nrp,n);
    }



}

int main()
{

    in>>n;

    eratosthenes(2,n);

    int sum=0;

    for(int i=2; i<=n; i++)
    {
        //cout<<a[i];
        if(!a[i])
            sum++;
    }

    out<<sum;
    return 0;
}