Cod sursa(job #633828)

Utilizator geobarosanu1Tutuianu George geobarosanu1 Data 14 noiembrie 2011 22:09:21
Problema Ciurul lui Eratosthenes Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.51 kb
// ciurul lui Eratostene

#include <stdio.h>

int ciur(int n)
{
	long i,j;
	int nr=0, *prim;
	
	prim=malloc(n*sizeof(int));

	for (i=1;i<=n;i++)
		prim[i]=malloc(1*sizeof(int));
		prim[i]=0;

	for (i=2;i<=n;i++)
	{
		if (prim[i])
		{
			nr++;
			for (j=i+i;j<=n;j+=i)
				prim[j]=0;
		}
	}
	
	return nr;
}

int main()
{
	long n;

	FILE* f=fopen("ciur.in","rt");
	FILE* g=fopen("ciur.out","wt");

	fscanf(f,"%d", &n);

	fprintf(g,"%d\n",ciur(n));

	fclose(f);
	fclose(g);

	return 0;
}