Cod sursa(job #1254247)

Utilizator dorinmoldovanMoldovan Dorin dorinmoldovan Data 2 noiembrie 2014 13:25:09
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include "stdio.h"
#include "string.h"

FILE *f, *g;
char s[2000001];
int n;
int total = 0;

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

	fscanf(f, "%d", &n);
	memset(s, 0, sizeof(s));

	int i = 2;
	s[0] = 1;
	s[1] = 1;

	while(i < n)
	{
		if(s[i] == 0)
			for(int j = i + i; j <= n; j = j + i)
				s[j] = 1;
		i++;
	}

	for(int i = 0; i <= n; i++)
		if(s[i] == 0)
			total = total + 1;

	fprintf(g, "%d", total);

	fclose(f);
	fclose(g);

	return 0;
}