Cod sursa(job #1380684)

Utilizator gabi.cristacheGabi Cristache gabi.cristache Data 8 martie 2015 10:34:53
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <vector>
#include <fstream>
#include <cmath>

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

int main() {
	int N;
	fin >> N;
	std::vector<bool> v(N + 1, true);
	
	int sqrtN = sqrt(N);

	for (int i = 2; i <= sqrtN; ++i) {
		for (int j = i * i; j <= N; j += i) {
			v[j] = false;
		}
	}

	int primCount = 0;
	for (int i = 2; i <= N; ++i)
		if (v[i] == true)
			++primCount;

	fout << primCount << std::endl;

	return 0;
}