Cod sursa(job #144608)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 27 februarie 2008 20:09:01
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
#define N 2000012
char v[N]={0};
int sol[1024];
int main()
{
int n,pr=0,nr=0,i,j;
freopen("ciur.in", "r",stdin);
freopen("ciur.out", "w",stdout);
scanf("%d", &n);
	for(i=2;i<=n;++i)
		if(v[i]==0) 
			{ ++nr; for(j=i+i;j<=n;j+=i)
				 v[j]=1; } 

printf("%d\n",nr); 
for(i=n;i>1;--i)
	 if(v[i]==0) 
		{ sol[pr++]=i; 
		  if(pr==1000) break;
		}

 
 for(i=pr-1;i>=0;--i)
	  printf("%d ", sol[i]); 
		 printf("\n");
	 
return 0;
}