Cod sursa(job #148342)

Utilizator Matei14Popa-Matei Mihai Matei14 Data 4 martie 2008 10:12:57
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<stdio.h>
#define N 2000005
int n,nr,x,v[2005],i,ok=1;
bool p[N]={0};
void ciur(int n){
	int i,j;
	for(i=2;i<=n;i++)
		if(!p[i]){
			nr++;
			for(j=i+i;j<=n;j+=i)
				p[j]=1;
		}
}
int main(){
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
	scanf("%d",&n);
	ciur(n);
	printf("%d\n",nr);
	for(i=n;i>1&&ok;i--){
		if(!p[i])
			v[++x]=i;
		if(x==1000)
			ok=0;
	}
	for(i=x;i>1;i--)
		printf("%d ",v[i]);
	printf("%d\n",v[1]);
	return 0;
}