Cod sursa(job #149786)

Utilizator andyciupCiupan Andrei andyciup Data 6 martie 2008 05:20:26
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<stdio.h>
#include<string.h>
#define N 2000009
int main(){
	freopen("ciur.in", "r", stdin);   
    freopen("ciur.out", "w", stdout);
	long n;
	scanf("%d" ,&n);
	long i,j, prime[1000];
	int k; 
	char v[N];	
	k=1;
	for(i=1; i*2<=n-1; i++)
		if (v[i]==0){
			k++;
			if (k<1000)
				prime[k]=i*2+1;
			for (j=3*i+1; j*2<=n-1; j=j+1+2*i)
			v[j]=1;}
		
	printf("%d\n", k);
	prime[1]=2;
	for (i=1; i<=k; i++)
		printf("%d ", prime[i]);
	
		
	
	
	
	return 0;
}