Cod sursa(job #1587102)

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

int N, a[2000000];

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] = i;
	}

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

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

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


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