Cod sursa(job #765352)
| Utilizator | Data | 7 iulie 2012 12:50:57 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include <fstream>
using namespace std;
#define NMAX 2000005
int N;
bool b[NMAX];
int main()
{
ifstream in("ciur.in");
ofstream out("ciur.out");
in >> N;
for(int i = 0; i < NMAX; ++i)
b[i] = true;
int log = 25;
for(int i = 2; i <= log; ++i)
if(b[i])
for(int j = 2 * i; j < NMAX; j += i)
b[j] = false;
int n = 0;
for(int i = 2; i <= N; ++i)
if(b[i])
++n;
out << n;
return 0;
}
