Cod sursa(job #286973)

Utilizator lucaz0rLuca Liviu lucaz0r Data 24 martie 2009 13:04:08
Problema Ciurul lui Eratosthenes Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.42 kb
#include <stdio.h>
#include <stdlib.h>

#define Nmax 2000002

short a[Nmax];


int main()

{
 int n, i, j, nr;

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

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

 scanf ("%d",&n);

 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 ("%d",nr);

 return 0;

}