Pagini recente » Monitorul de evaluare | Cod sursa (job #80961) | Cod sursa (job #5374) | Cod sursa (job #59189) | Cod sursa (job #761915)
Cod sursa(job #761915)
#include <stdio.h>
/*
Algoritmul de aflare a numerelor prime mai mici decat un numar dat folosind ciurul lui Eratostene.
*/
int ciur_eratostene (int numar) {
int prime = 1;
int prim[numar];
int i, j;
for (i = 3; i <= numar; i++)
prim[i] = 1;
for (i = 3; i <= numar; i += 2) {
if (prim[i]) {
prime++;
j = i + i + i;
while (j <= numar) {
prim[j] = 0;
j += i << 1;
}
}
}
return prime;
}
int main () {
int numar;
FILE *f_in = fopen("ciur.in", "r");
FILE *f_out = fopen("ciur.out", "w");
fscanf(f_in, "%d", &numar);
int prime = ciur_eratostene(numar);
fprintf(f_out, "%d\n", prime);
return 0;
}