Cod sursa(job #161582)
Utilizator | Data | 18 martie 2008 15:31:58 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <iostream>
#include <fstream>
using namespace std;
int N;
bool prim[2000001];
int main(int argc, char *argv[]) {
ifstream fin("ciur.in");
fin >> N;
fin.close();
memset(prim, 1, sizeof(prim));
int cnt(0);
for (int i = 2; i <= N; ++i) {
if (prim[i]) {
++cnt;
for (int j = 2*i; j <= N; j += i)
prim[j] = false;
}
}
ofstream fout("ciur.out");
fout << cnt << endl;
fout.close();
return 0;
}