Cod sursa(job #153098)

Utilizator georgepalPal George Catalin georgepal Data 10 martie 2008 09:33:21
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<stdio.h>
long sol[1024],cnt,n,m;
char prim[2000005];
int main()
	{
	long i,j;cnt=0;m=0;
	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]=='1')
			{
			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]=='1')
			{
			sol[++cnt]=i;
			if(cnt==1000) break;
			}
	for(i=cnt;i;i--)
		fprintf(g,"%ld ",sol[i]);
	fcloseall();
	return 0;
        }