Pagini recente » Cod sursa (job #57781) | Cod sursa (job #1361770) | Cod sursa (job #930251) | Cod sursa (job #1669913) | Cod sursa (job #2662066)
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int
euclid (int **l, int n) {
int i = 2, nrp = 0, j;
for (;i < n; ++ i) {
if ((*l)[i] == 0) {
++ nrp;
if (i * i < n) {
for (j = i + i; j < n; j += i) {
(*l)[j] = 1;
}
}
}
}
return nrp;
}
void
main (void) {
FILE *f = fopen("ciur.in", "r");
int n;
fscanf(f, "%d", &n);
int *l = malloc(n * 4);
memset(l, 0, n);
n = euclid(&l, n);
FILE *f1 = fopen("ciur.out", "w");
fprintf(f1, "%d", n);
fclose(f);
fclose(f1);
free(l);
}