Cod sursa(job #3344974)

Utilizator MetalAweTiberiu Podareanu MetalAwe Data 7 martie 2026 11:02:58
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#define FIN "ciur.in"
#define FOUT "ciur.out"
using namespace std;

//presupunem toate prime, dupa care incepem sa taiem
int eratosthenes(int n) {
	bool bool_erato[n + 1];
	int i;
	int size = n - 1;
	for (i = 2; i < n + 1; i++) {
		bool_erato[i] = true;
	}
	i = 2;
	while (i * i <= n) {
		if (bool_erato[i] == true) {
			int j = 2;
			while (i * j <= n) {
				int prod = i * j;
				if (bool_erato[prod] == true) {
					size--;
				}
				bool_erato[prod] = false;
				j++;
			}
		}
		i++;
	}
	return size;
}

int main() {
	int n;
	freopen(FIN, "r", stdin);
	freopen(FOUT, "r", stdout);
	cin >> n;
	cout << eratosthenes(n);
	return 0;
}