Cod sursa(job #1125016)

Utilizator eraser_aCarp Andrei eraser_a Data 26 februarie 2014 15:10:43
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>
#include <stdlib.h>

#define NUMBER_COUNT 2000001
char numbers[NUMBER_COUNT];

FILE *in, *out;

int main()
{
	long base_index, multiple_index;
	long N;
	long count_primes = 0;
	
	in = fopen("ciur.in","r");
	fscanf(in,"%ld",&N);
	fclose(in);

	for(base_index=2;base_index<=N;base_index++)
	{
		if(numbers[base_index] == 0)
		{
			count_primes++;

			for(multiple_index=base_index<<1;multiple_index<=N;multiple_index+=base_index)
			{
				numbers[multiple_index] = 1;
			}
		}
	}

	out = fopen("ciur.out","w");
	fprintf(out,"%ld",count_primes);
	fclose(out);

	return 0;
}