Cod sursa(job #3313205)

Utilizator DobraVictorDobra Victor Ioan DobraVictor Data 2 octombrie 2025 20:43:32
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
#include <stdint.h>

const int32_t MAX_N = 2000000;

bool primes[MAX_N + 1];

int main() {
	std::ifstream fin("ciur.in");
	std::ofstream fout("ciur.out");

	int32_t n;
	fin >> n;

	for(int32_t i = 2; i <= n; ++i)
		primes[i] = true;
	for(int32_t i = 2; i <= n; ++i) {
		if(!primes[i])
			continue;
		
		for(int32_t j = i << 1; j <= n; j += i)
			primes[j] = false;
	}

	int32_t count = 0;
	for(int32_t i = 2; i <= n; ++i)
		count += (int32_t)primes[i];
	
	fout << count;

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

	return 0;
}