Cod sursa(job #309679)

Utilizator dya_ndmNanuti Diana-Maria dya_ndm Data 30 aprilie 2009 22:02:58
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<stdio.h>
long n;
char c[1000001];

void ciur()
{
long long i,j;
for(i=1;2*i+1<=n;++i)
   if(c[i]==0)
     for(j=2*i*i+2*i;2*j+1<=n;j=j+2*i+1)
         c[j]=1;
}

int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);

scanf("%ld",&n);
long long i,num=0;
ciur();
if(n>=2)
  ++num;
n=(n-1)/2;
for(i=1;i<=n;++i)
   if(c[i]==0)
     ++num;
printf("%ld\n",num);

return 0;
}