Cod sursa(job #1772084)
Utilizator | Data | 6 octombrie 2016 14:52:53 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <stdio.h>
#include <stdlib.h>
FILE *f = fopen("ciur.in", "r");
FILE *g = fopen("ciur.out", "w");
int main() {
int n, nr = 0;
bool *v;
fscanf(f,"%d", &n);
v = (bool*)calloc(n + 1, sizeof(bool));
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;
}