Cod sursa(job #478595)

Utilizator a.stanciuStanciu Adrian a.stanciu Data 19 august 2010 12:32:23
Problema Ciurul lui Eratosthenes Scor 30
Compilator c Status done
Runda Arhiva educationala Marime 0.42 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{
	int n, *v, i, j, nr = 0;
	FILE *f, *g;

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

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

	v = (int *)malloc(sizeof(int) * (n + 1));

	for (i = 2; i <= n; i++)
		v[i] = 1;

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

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

	fclose(f);
	fclose(g);

	return 0;
}