Cod sursa(job #144794)

Utilizator mithyPopovici Adrian mithy Data 27 februarie 2008 23:05:59
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>  

int N, n, sol[1024], cnt;  
char prim[2000005];  
   
int main(void)  
{  
	int i, j;  
	       
	freopen("ciur.in", "r", stdin);  
	freopen("ciur.out", "w", stdout);  
	
	scanf("%d", &N); 

	for (i = 2; i <= N; ++i)  
		if (!prim[i])  
		{  
			++n;  
			for (j = i+i; j <= N; j += i)  
				prim[j] = 1;  
		}  
	      
	printf("%d\n", n);  
	for (i = 2; i <= N; ++i)  
		if (!prim[i])  
		{  
			sol[++cnt] = i;  
			if (cnt == 1000)  
				break;  
		}  
  
	for (i = 1; i<=cnt; ++i)  
		printf("%d ", sol[i]);  
	printf("\n");  

	return 0;  
}