Cod sursa(job #3351044)

Utilizator robert.stefanRobert Stefan robert.stefan Data 15 aprilie 2026 21:29:57
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
// https://infoarena.ro/problema/ciur

#include<fstream>

using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");

int prim[2000001]; // prim[i] = 0 daca i este prim, prim[i] = 1 daca i nu este prim

int main() {
	int n, nrPrime = 0;
	fin >> n;

	prim[1] = 1; // 1 nu e nr prim

	for(int i = 2; i * i <= n; i++) {
		if(prim[i] == 0) {
			// e prim
			nrPrime++;

			// marcam ca nefiind primi toti multiplii lui
			for(int j = i * 2; j <= n; j += i) {
				prim[j] = 1;
			}
		}
	}

	fout << nrPrime << endl;

	fin.close();
	fout.close();

	return 0;
}