Cod sursa(job #323978)
Utilizator | Rafailescu Marius Raphy | Data | 14 iunie 2009 12:16:08 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, j;
int n, cnt=0, *prim;
FILE *in,*out;
in=fopen("ciur.in","r");
out=fopen("ciur.out","w");
fscanf(in,"%d",&n);
prim=(int*)malloc(n*sizeof(int));
for (i=2;i<=n;++i)
prim[i]=1;
for (i=2;i<=n;++i)
if (prim[i])
{
++cnt;
for (j=2*i;j<=n;j+=i)
prim[j]=0;
}
fprintf(out,"%d\n",cnt);
fclose(in);
fclose(out);
return 0;
}