Cod sursa(job #657008)

Utilizator mika17Mihai Alex Ionescu mika17 Data 5 ianuarie 2012 17:13:10
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <vector>
#include <queue>
#include <stack>
#include <fstream>

#include <bitset>

using namespace std;

const char inputFile[] = "ciur.in";
const char outputFile[] = "ciur.out";

const int MAXNUM = 2000001;
int main()
{
	ifstream fin(inputFile);
	ofstream fout(outputFile);
	
	vector<int> primes;
	bitset<MAXNUM> isprime;
	isprime.set();
	int N; fin >> N;

	isprime[0] = isprime[1] = false;
	for(int i=2; i*i < MAXNUM;++i)
		for(int j=i*i; j < MAXNUM; j+=i)
			isprime[j] = false;
	for(int i=2;i <= N;++i)
		if(isprime[i]) primes.push_back(i);

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