Cod sursa(job #496249)

Utilizator pirvupirvu tudor pirvu Data 28 octombrie 2010 10:59:26
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include<cstdio>

bool ciur[1<<21];

int n,nr;

int main()
{
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	
	
	scanf("%d", &n);
	
	ciur[2]=0;
	
	for (int i=2;i*i<=n;i++)
	{
		if (ciur[i]==0)
		for (int j=i*i;j<=n;j+=i)
			ciur[j]=1;
		
	}
	
	
	for (int i=2;i<=n;i++)
		if ( ciur[i] == 0 ) nr++;
	
	
	printf("%d\n", nr);
	
	return 0;
}