Cod sursa(job #702714)

Utilizator romircea2010FMI Trifan Mircea Mihai romircea2010 Data 2 martie 2012 08:34:18
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>

using namespace std;

int n, sol;
bool a[2000005];

void Solve()
{
	long long i;
	a[0] = a[1] = true;
	for (i=4; i<=n; i+=2)
		a[i] = true;
	long long j;
	for (i=3; i<=n; i++)
	{
		if (a[i] == false)
		{
			j = i;
			j *= i;
			for (; j<=n; j+=i)
				a[j] = true;
		}
	}
	for (i=0; i<=n; i++)
		if (a[i] == false)
			sol++;
}

int main()
{
	ifstream f("ciur.in");
	f>>n;
	f.close();
	Solve();
	ofstream g("ciur.out");
	g<<sol<<"\n";
	g.close();
	return 0;
}