Cod sursa(job #1807054)
| Utilizator | Data | 15 noiembrie 2016 23:01:32 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <fstream>
#include <cmath>
#define DIM_MAX 2000000
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bool v[DIM_MAX + 1];
int nr = 0;
void ciur() {
for (int i = 2; i <= sqrt(DIM_MAX); i++)
if (v[i] == 0)
for (int j = 2; j <= DIM_MAX / i; j++)
v[i * j] = 1;
}
int N;
int main()
{
fin >> N;
ciur();
for (int i = 2; i <= N; i++)
if (v[i] == 0)
nr++;
fout << nr;
return 0;
}
