Cod sursa(job #497311)

Utilizator pavelsimutFMI pavelsimut pavelsimut Data 2 noiembrie 2010 08:13:37
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream>
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");

const int N = 2000001;

bool c[N];

int numarprime(int a);

int main()
{
	int n;
	in>>n;
	out<<numarprime(n);
	return 0;
}
int numarprime(int a)
{
	int i,j,s = 0;
	for(i=2 ; i*i<=a ; ++i)
		if(!c[i])//daca c[i] nu a fost marcat (deci este prim)
			for(j=i*i ; j<=a ; j+=i)
				c[j] = true;
	for(i=2;i<=a;i++)
		if(!c[i])
			s++;
	return s;
}