Cod sursa(job #2322704)

Utilizator mara2901mara oprea mara2901 Data 18 ianuarie 2019 10:30:40
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>

using namespace std;

int n, sol;

void Citire()
{
    ifstream fin("ciur.in");
    fin>>n;
    fin.close();
}

void Solutie()
{
    int i,j,p=0;
    bool v[200001];
    for (i=1;i<=n;i++)
        v[i]=1;
    v[1]=0;
    for (i=2;i<=n;i++)
        if (v[i]==1)
        {
            for (j=i;j*i<=n;j++)
                v[i*j]=0;
        }


    /**
        p+=x e acelasi lucru cu p=p+x
    */
    for (i=1;i<=n;i++)
        p+=v[i];
    sol=p;
}

void Afisare()
{
    ofstream fout("ciur.out");
    fout<<sol<<"\n";
    fout.close();


}

int main()
{
    Citire();
    Solutie();
    Afisare();
    return 0;
}