Cod sursa(job #2249636)
| Utilizator | Data | 30 septembrie 2018 09:46:48 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
#define filein "ciur.in"
#define fileout "ciur.out"
#define sz 2000001
using namespace std;
ifstream fin(filein);
ofstream fout(fileout);
unsigned int N, cont;
int main()
{
fin >> N;
bool ciur[sz] = {0};
for(unsigned int d = 2; d <= N; ++d)
{
if(!ciur[d])
{
++cont;
unsigned int k = 1;
do{
ciur[d * k] = 1;
++k;
}while(d * k <= N);
}
}
fout << cont;
return 0;
}
