Cod sursa(job #153096)

Utilizator georgepalPal George Catalin georgepal Data 10 martie 2008 09:22:35
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>
long sol[1024],cnt,n,m;
char prim[2000005];
int main()
	{
	long i,j;
	FILE*f,*g;
	f=fopen("ciur.in","r");
	g=fopen("ciur.out","w");
	fscanf(f,"%ld",&n);
	for(i=2;i<=n;i++)
		prim[i]=1;
	for(i=2;i<=n;i++)
		if(prim[i])
			{
			++m;
			for(j=i+i;j<=n;j+=i)
				prim[j]=0;
			}
	fprintf(g,"%ld\n",m);
	for(i=n;i>1;i--)
		if(prim[i])
			{
			sol[++cnt]=i;
			if(cnt==1000) break;
			}
	for(i=cnt;i>1;i--)
		fprintf(g,"%ld ",sol[i]);
	fcloseall();
	return 0;
        }