Pagini recente » Cod sursa (job #541007) | Cod sursa (job #2796463) | Cod sursa (job #854977) | Cod sursa (job #1112439) | Cod sursa (job #2253418)
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
void initCiur (int n, bool ciur[]) {
for (int i = 2; i * i <= n; ++i) {
if (!ciur[i]) {
for (int j = i * i; j <= n; j += i) {
ciur[j] = true;
}
}
}
}
int main () {
FILE *f_in, *f_out;
int n;
int count = 0;
bool *ciur;
f_in = fopen ("ciur.in", "r");
f_out = fopen ("ciur.out", "w");
fscanf (f_in, "%d", &n);
ciur = (bool*) calloc (n + 1, sizeof(bool));
initCiur(n, ciur);
for (int i = 2; i <= n; ++i) {
if (!ciur[i]) {
count++;
}
}
fprintf (f_out, "%d\n", count);
fclose(f_in);
fclose(f_out);
return 0;
}