Cod sursa(job #1336044)

Utilizator stefan1Medvichi Stefan stefan1 Data 6 februarie 2015 14:21:31
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
#define DMAX 2000

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

int n, nrp;
char ciur[DMAX];

void Ciur();
void afisare();

int main()
{
Ciur();
afisare();
fout<<nrp<<'\n';
fout.close();
return 0;
}

void Ciur()
{
int i, j;
fin>>n;
for (i=2; i*i<=n; i++)
    if (!ciur[i]) // i este prim
        for (j=i; j*i<=n; j++)
            ciur[j*i]=1; // elimin din ciur multiplu i*j
}

void afisare()
{
int i;
for (i=2; i<=n; ++i)
    if (!ciur[i])
        nrp++;
}