Cod sursa(job #148885)

Utilizator loganelLoganel loganel Data 4 martie 2008 22:40:41
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<stdio.h>  

#define M 1000000
int v[M];

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

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*i<=n;i++)
 if(v[i]==0) for(j=2;j*i<=n;j++)
	      v[i*j]=1

for(i=2;i<=n;i++)
 if(v[i]==0) k++;

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


for(i=2;i<=n;i++)
 if(v[i]==0) fprintf(g,"%ld ",i);

fprintf(g,"\n");

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