Cod sursa(job #969914)
| Utilizator | Data | 5 iulie 2013 17:25:46 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
#include <cmath>
int main(void)
{
std::ifstream in("ciur.in");
int nV, nA(0);
in >> nV;
in.close();
nV++;
bool *bCh = new bool[nV];
for(int i(0); i < nV; i++)
bCh[i] = true;
for(int i(2); i < sqrt(nV); i++)
if(bCh[i])
for(int j(i * i); j < nV; j += i)
bCh[j] = false;
std::ofstream out("ciur.out");
for(int i(2); i < nV; i++)
if(bCh[i]) nA++;
out << nA;
delete[] bCh;
out.close();
return 0;
}
