Cod sursa(job #560207)

Utilizator Catah15Catalin Haidau Catah15 Data 18 martie 2011 13:06:00
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>

using namespace std;

#define maxN 2000100
#define LL long long

int k, N;
bool cont[maxN];

void ciur (int X)
{
	if (X >= 2)
		k = 1;
	
	for (int i = 3; i <= X; i += 2)
		if ( ! cont[i] )
		{
			++ k;

			for (LL j = i * i; j <= X; j += i)
				cont[j] = true;
		}
}


int main()
{
	ifstream f("ciur.in");
	ofstream g("ciur.out");
	
	f >> N;
	
	ciur (N);
	
	g << k;
	
	
	f.close();
	g.close();
	
	return 0;
}