Cod sursa(job #523595)

Utilizator dragusanu_anaDragusanu Ana dragusanu_ana Data 18 ianuarie 2011 17:05:18
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<stdio.h>
long long n,prim[2000001],nr=0,i;
void primes(long long n)
{
 int i,j;
 for(i=2;i<=n;++i) prim[i]=1;
 for(i=4;i<=n;i+=2) prim[i]=0;
 for(i=3; i*i<=n; i+=2)
	if(prim[i])
		for(j=i*i;j<=n;j+=i) prim[j]=0;
}
int main()
{
 freopen("ciur.in","rt",stdin);
 freopen("ciur.out","wt",stdout);
 scanf("%lld",&n);
 primes(n);
 for(i=2;i<=n;i++) if(prim[i]) nr++;
 printf("%lld",nr);
 return 0;
}