Cod sursa(job #2594404)
Utilizator | Data | 5 aprilie 2020 22:14:06 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | c-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <stdio.h>
#include <string.h>
char ciur[2000001];
int main () {
FILE *fin=fopen ("ciur.in", "r"),
*fout=fopen ("ciur.out", "w");
memset(ciur, 1, sizeof ciur);
int n, i, d, ct;
fscanf (fin, "%d", &n);
ct=n>1;
for (i=3; i<=n; i+=2)
if (ciur[i])
for (++ct, d=i<<1; d<=n; d+=i)
ciur[d]=0;
fprintf (fout, "%d\n", ct);
return 0;
}