Cod sursa(job #472521)

Utilizator ilie.danilaIlie Teodor Danila ilie.danila Data 25 iulie 2010 15:01:57
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
using namespace std;

int isNotPrim[2000001];
int n;

int main()
{
	ifstream f("ciur.in");
	ofstream g("ciur.out");

	f >> n;

	f.close();

	int index = 2;
	int solution = 0;

	do
	{
		int multiply = index;
		while( index * multiply <= n)
		{
			isNotPrim[index * multiply] = 1;
			multiply++;
		}
		if ( index * index < n )
			index++;
	}while( index * index < n );

	for( index = 2; index <= n; index++)
		if( !isNotPrim[index] )
			solution++;

	g << solution << "\n";

	g.close();

	return 0;
}