Cod sursa(job #1587102)
| Utilizator | Data | 1 februarie 2016 20:03:59 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include <stdio.h>
int N, a[2000000];
int main(){
FILE *in, *out;
in = fopen("ciur.in", "r");
out = fopen("ciur.out", "w");
fscanf(in, "%d", &N);
int i, j, counter = 0;
for(i = 0; i <= N; i++){
a[i] = i;
}
for(i = 2; i <= N; i++){
for(j = 2; i*j <= N; j++){
a[i*j] = 0;
}
}
for(i = 2; i <= N; i++){
if(a[i] != 0)
counter++;
}
fprintf(out, "%d\n", counter);
fclose(in);
fclose(out);
return 0;
}