Cod sursa(job #286974)
Utilizator | Data | 24 martie 2009 13:05:45 | |
---|---|---|---|
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;
freopen ("ciur.in","r",stdin);
freopen ("ciur.out","w",stdout);
scanf ("%d",&n);
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 ("%d",nr);
return 0;
}