Cod sursa(job #878343)
| Utilizator | Data | 14 februarie 2013 13:01:31 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <cmath>
#include <fstream>
#include <iostream>
using namespace std;
const int MAX_N = 2100100;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bool ciur[MAX_N];
int main() {
int N;
fin >> N;
int numFound = 0;
for (int i = 4; i <= N; ++i) {
ciur[i] = 1;
}
for (int i = 2; i <= N; ++i) {
if (ciur[i] == 0) {
for (int j = i + i; j <= N; j += i) {
cerr << j << endl;
ciur[j] = 1;
}
++numFound;
}
}
fout << numFound;
return 0;
}