Cod sursa(job #286998)
Utilizator | 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;
}