Cod sursa(job #2662058)

Utilizator andrei1616andrei 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();
}