Cod sursa(job #358440)

Utilizator dorelStoica Razvan-Andrei dorel Data 23 octombrie 2009 08:21:45
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<cstdio>
#define N 2000000
int n,v[N],s=0;
int ciur (int n) 
{
	v[1]=true;
	for (int d=2 ; d*d<n ; ++d)
	{
		if (!v[d])
		{
			for (int i=d*d ; i<n ; i+=d)
			{
				v[i]=true;
			}
		}
	}
	for (int i=2 ; i<n ; ++i) 
	{
		if (!v[i])
			++s;
	}
	return s;
}
int main () {
	freopen ("ciur.in","r",stdin);
	freopen ("ciur.out","w",stdout);
	scanf ("%d",&n);
	ciur (n);
	printf ("%d",s);
	return 0;
}