Cod sursa(job #1839166)
| Utilizator | Data | 2 ianuarie 2017 15:54:49 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <iostream>
#include <fstream>
using namespace std;
const int MAX = 2000000;
char p[MAX + 1];
fstream f("ciur.in", ios::in), g("ciur.out", ios::out);
int main()
{
int nr = 0, n;
f >> n;
for (int i = 1; i <= n / 2 ;i ++)
{
if (p[i] == 0)
{
nr ++;
for (int j = (i * i) + (i << 1); (j << 1) + 1 <= n; j += (i << 1) + 1)
p[j] = 1;
}
}
g << nr;
return 0;
}
