Cod sursa(job #1008258)

Utilizator rucarRucareanu Alexandru rucar Data 10 octombrie 2013 18:21:54
Problema Ciurul lui Eratosthenes Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.46 kb
#include <cstdio>
#include <cstdlib>

int main()
{
	int i,j, n, *v,nr=0;
	scanf("%d", &n);
	v = (int*)malloc(sizeof(int)*n);
	for (i = 1; i <= n; i++)
		v[i] = 1;
	v[1] = 0;
	for (i = 2; i <= n; i++)
	{
		j = i;
		if ((i*i < n)&&(v[i]))
		   while (i*j<=n)
		   {
			v[i*j] = 0;
			j++;
		   }
	}
	for (i = 1; i <= n; i++)
		printf("%d ", v[i]);
	for (i = 1; i <= n;i++)
	if (v[i])
		nr++;
	printf("%d", nr);
	scanf("%d", &i);
	return 0;
}