Cod sursa(job #163991)

Utilizator nicolaetitus12Nicolae Titus nicolaetitus12 Data 23 martie 2008 13:24:05
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <stdio.h>
char ciur[2000002];
long prim[149000];
int main ()
{freopen("ciur.in","r",stdin);
 freopen("ciur.out","w",stdout);
 long n,i,j,vf=1;
 scanf("%ld",&n);
 ciur[1]=1;
 for (i=4;i<=n;i+=2)ciur[i]=1;
 for (i=3;i*i<=n;i+=2)
 {if(ciur[i]==0)
  {prim[++vf]=i;
   for (j=i*i;j<=n;j+=2*i)
    ciur[j]=1;
  } 
 }
 for (j=0,i=1;i<=n;i++)
 {if(ciur[i]==0)
   j++;
 }
 printf("%ld",j);
 return 0;
}