Cod sursa(job #2662058)
Utilizator | andrei andrei andrei1616 | Data | 23 octombrie 2020 13:36:02 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 20 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
void
sieve (vector<int> *l, int n) {
int prim;
for (int i = 2; i <= n; ++ i) {
prim = 1;
for (auto it = l->begin(); it != l->end(); ++ it) {
if (*it > i) break;
if (i % *it == 0) {
prim = 0;
break;
}
}
if (prim) {
l->push_back(i);
}
}
}
int
main () {
int n;
fin >> n;
vector<int> l;
sieve(&l, n);
fout << l.size();
}