Cod sursa(job #2623974)

Utilizator lucidanescu28Danescu Lucian lucidanescu28 Data 4 iunie 2020 12:01:11
Problema Ciurul lui Eratosthenes Scor 50
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.43 kb
#include <stdio.h>
#include <stdlib.h>

int main(){
	FILE *fin = fopen("ciur.in", "r");
	FILE *fout = fopen("ciur.out", "w");
	int i, j, N, ans = 0;

	fscanf(fin, "%d", &N);
	int *prim = malloc((N + 1) * sizeof(int));

	for(i = 2; i <= N; i++)
		prim[i] = 1;

	for(i = 2; i <= N; i++)
		if(prim[i]){
			ans++;
			for(j = i + i; j <= N; j = j + i)
				prim[j] = 0;
		}

	fprintf(fout, "%d", ans);

	free(prim);
	fclose(fin);
	fclose(fout);
}