Cod sursa(job #1587124)

Utilizator andreibotilaBotila Andrei andreibotila Data 1 februarie 2016 20:11:18
Problema Ciurul lui Eratosthenes Scor 30
Compilator c Status done
Runda Arhiva educationala Marime 0.4 kb
#include <stdio.h>

int N, a[2000005];

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

	fscanf(in, "%d", &N);

	int i, j, counter = 0;

	for(i = 0; i <= N; i++){
		a[i] = 1;
	}

	for(i = 2; i <= N; i++){
		if(a[i] == 1)
			counter++;
		for(j = i + i; j <= N; j = j + i){
				a[j] = 0;
		}
	}

	fprintf(out, "%d\n", counter);


	fclose(in);
	fclose(out);
	return 0;
}