Mai intai trebuie sa te autentifici.

Cod sursa(job #2099189)

Utilizator eu3neuomManghiuc Teodor-Florin eu3neuom Data 4 ianuarie 2018 09:35:48
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMax = 2e6 + 50;

int ciur[NMax];
vector < int > primes;

void Erathos(int n) {
	for(int i = 2; i <= n; ++i) {
		if(ciur[i] == 0) {
			ciur[i] = i;
			primes.push_back(i);
		}
		for(int j = 0; j < (int)primes.size() && primes[j] <= ciur[i] && i * primes[j] <= n; ++j) {
			ciur[i * primes[j]] = primes[j];
		}
	}
}

int main() {
	
	int n;
	fin >> n;

	Erathos(n);

	fout << (int)primes.size();
	
	return 0;
}