Cod sursa(job #152823)

Utilizator mariussMarius Telespan mariuss Data 9 martie 2008 20:26:06
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<stdio.h>
#define nmax 2000005
int i,j,k,n,w[1025],p;
char v[nmax];

int main()
{
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);

	scanf("%d",&n);

	v[1]=-1;

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

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

		}
	printf("%d\n",k);

	for(i=n;i>0 && p<100;i--)
		if(v[i]==0)
			w[++p]=i;

	for(i=p;i>0;i--)
		printf("%d ",w[i]);

	return 0;
}