Cod sursa(job #394826)

Utilizator lunat1cHobinca Bogdan lunat1c Data 11 februarie 2010 17:53:14
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <cstdio>


int d[2000000],n;

void ciur(int nr)
{
	for(int j=nr*nr; j <= n; j = j + nr)
		if(d[j])
			d[j]=0;
}

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