Cod sursa(job #1325455)

Utilizator charmpitzAndrei Pit charmpitz Data 23 ianuarie 2015 22:26:07
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.49 kb
/*
Ciurul lui Eratostene.
Toate numerele prime <= n.

*/

/*
Rezolvare:


*/

#include <stdio.h>

FILE *in, *out;
char ciur[2000001];
int n;

int main ()
{
	long long i, j;
	int t;


	in = fopen("ciur.in", "r");
	out = fopen("ciur.out", "w");

	fscanf(in, "%d", &n);
	
	for (i=2; i<=n; i++)
		ciur[i] = 0;

	t = 0;
	for (i=2; i<=n; i++)
	{
		if (ciur[i] == 0)
		{
			for (j=i*i; j<=n; j=j+i)
			{
				ciur[j] = 1;
			}
			t++;
		}
	}

	fprintf(out, "%d", t);


	fclose(out);
	fclose(in);

	return 0;
}