Cod sursa(job #1772078)
Utilizator | Data | 6 octombrie 2016 14:50:26 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
#include <stdio.h>
#include <stdlib.h>
FILE *f = fopen("ciur.in", "r");
FILE *g = fopen("ciur.out", "w");
int main() {
int *v, n, nr = 0;
fscanf(f,"%d", &n);
v = (int*)calloc(n + 1, sizeof(int));
v[0] = v[1] = 1;
for (int i = 2; i <= n; i++)
if (!v[i]) {
nr++;
for (int j = 2 * i; j <= n; j += i)
v[j] = 1;
}
fprintf(g,"%d", nr);
return 0;
}