Cod sursa(job #693222)

Utilizator Marius96Marius Gavrilescu Marius96 Data 27 februarie 2012 11:06:42
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.3 kb
#include<cstdio>
int nr;
int isc[2000005];
int main()
{
	freopen ("ciur.in","r",stdin);
	freopen ("ciur.out","w",stdout);
	int n;
	scanf ("%d",&n);
	nr=n-1;
	int x=2;
	while(x<n){
		for(int i=x*2;i<=n;i+=x)
			if(isc[i]==0)
				isc[i]=1,nr--;
		x++;
		while(x<n&&isc[x])x++;
	}
	printf ("%d",nr);
	return 0;
}