Cod sursa(job #286998)

Utilizator lucaz0rLuca Liviu lucaz0r Data 24 martie 2009 13:41:33
Problema Ciurul lui Eratosthenes Scor 30
Compilator c Status done
Runda aa Marime 0.42 kb
#include <stdio.h>
#include <stdlib.h>


int main()

{long *a;
 long n, i, j, nr;



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

 scanf ("%ld",&n);

 a = malloc (n* sizeof(short));


 for (i=1;i<=n;i++) a[i]=0;

 for (i=2;i<=n;i++)
    if (a[i]==0)
	for (j=i+i;j<=n;j=j+i) a[j]=1;
 nr=0;
 for (i=2;i<=n;i++)
      if (a[i]==0) nr++;

 printf ("%ld",nr);

 return 0;

}