Cod sursa(job #152929)

Utilizator petroMilut Petronela petro Data 9 martie 2008 22:07:42
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>  

#define M 2000000
#define N 1000
char v[M];
int y[N];

int main()
{long n,i,j;
 int k;

FILE *f=fopen("ciur.in","r");
FILE *g=fopen("ciur.out","w");

fscanf (f,"%ld",&n);

k=0;

for(i=2;i<=n;i++)
 v[i]=1;

for(i=2;i<=n;i++)
 if(v[i]) {for(j=i+i;j<=n;j+=i)
	      v[j]=0;}

for(i=2;i<=n;i++)
 {if(v[i]) y[++k]=i;
  if (k==1000) break;}

fprintf(g,"%d\n",k);


for(i=2;i<=k;i++)
 fprintf(g,"%d ",y[k]);

fprintf(g,"\n");

fclose(f);
fclose(g);
return 0;
}