Cod sursa(job #2623974)
| Utilizator | Data | 4 iunie 2020 12:01:11 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 50 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *fin = fopen("ciur.in", "r");
FILE *fout = fopen("ciur.out", "w");
int i, j, N, ans = 0;
fscanf(fin, "%d", &N);
int *prim = malloc((N + 1) * sizeof(int));
for(i = 2; i <= N; i++)
prim[i] = 1;
for(i = 2; i <= N; i++)
if(prim[i]){
ans++;
for(j = i + i; j <= N; j = j + i)
prim[j] = 0;
}
fprintf(fout, "%d", ans);
free(prim);
fclose(fin);
fclose(fout);
}