Cod sursa(job #309581)
Utilizator | Data | 30 aprilie 2009 18:23:26 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include<stdio.h>
long n;
int c[2000001];
void ciur()
{
long i,j;
for(i=1;2*i+1<=n;++i)
if(c[i]==0)
for(j=2*i*i+2*i;j<=n;++j)
c[j]=1;
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%ld",&n);
long i,num=0;
ciur();
n=n/2;
for(i=0;i<n;++i)
if(c[i]==0)
++num;
printf("%ld\n",num);
return 0;
}