Cod sursa(job #154514)
| Utilizator | Data | 11 martie 2008 11:32:01 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include<stdio.h>
#define DM 100000
char v[DM];
int main()
{long i,j,n;
FILE *f=fopen("prim.in","r");
FILE *g=fopen("prim.out","w");
fscanf(f,"%ld ",&n);
v[0]=v[1]=0;
v[2]=1;
for(i=3;i<=n;i++)
{
if(i%2==0) v[i]=0;
else v[i]=1;
}
for(i=3;i<=n;i+=2)
{
if(v[i]==1) for(j=2*i;j<=n;j+=i)
v[j]=0;
}
for(i=1;i<=n;i++)
if(v[i]==1) fprintf(g,"%ld ",i);
fclose(f);
fclose(g) ;
return 0;
}
