Cod sursa(job #513957)

Utilizator diac_paulPaul Diac diac_paul Data 17 decembrie 2010 14:40:05
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
#define NMax 2000005

FILE *fin = fopen("ciur.in", "rt");
FILE *fout = fopen("ciur.out", "wt");

int n;
char prime[NMax];

int main()
{
	fscanf(fin, "%d", &n);

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

	int rez = 0;
	for (int i = 2; i <= n; i++)
		if (prime[i])
		{
			rez++;
			for (int j = (i << 1); j <= n; j += i)
				prime[j] = 0;		
		}

	fprintf(fout, "%d\n", rez);
	fclose(fin);
	fclose(fout);
	return 0;
}