Cod sursa(job #2252344)
Utilizator | Data | 2 octombrie 2018 18:38:56 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
#define nmax 2000100
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
bool prim[nmax];
void creareCiur(int maxVal) {
prim[1] = 1;
for (int i = 2;i <= maxVal; ++i) {
if (prim[i] == 0) {
for (int j = i + i; j <= maxVal; j = j + i) {
prim[j] = 1;
}
}
}
}
int main() {
int n;
f >> n;
creareCiur(n);
int number = 0;
for (int i = 2;i <= n; ++i) {
if (prim[i] == 0 ) {
number ++;
}
}
g << number;
return 0;
}