Cod sursa(job #349365)

Utilizator pirvupirvu tudor pirvu Data 19 septembrie 2009 11:17:08
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include<cstdio>

const int N=(1<<21);

bool c[N];

int main()
{
	
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	int n;
	scanf("%d", &n);
	int i,j;
	for (i=2;i*i<=n;++i)
		if (!c[i]) // daca este prim
			for (j=i*i;j<=n;j+=i)
				c[j]=true;

	int numar=0;
	for (i=2;i<=n;++i)
		if (!c[i]) 
			++numar;
	
	printf("%d", numar);
	return 0;
}