Cod sursa(job #2127895)
Utilizator | Radu Capalb klbradu | Data | 11 februarie 2018 11:00:32 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <stdio.h>
#include <string.h>
int main() {
int n, i, j, count = 0;
char prim[2000005];
memset(prim, 1, 2000005);
FILE* input = fopen("ciur.in", "r");
FILE* output = fopen("ciur.out", "w");
fscanf(input, "%d", &n);
for (i = 2; i <= n; i++) {
if (prim[i] == 1) {
count++;
for (j = i * i; j <= n; j += i) {
prim[j] = 0;
}
}
}
fprintf(output, "%d\n", count);
fclose(input);
fclose(output);
return 0;
}