Cod sursa(job #1800781)
| Utilizator | Data | 8 noiembrie 2016 08:27:15 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <stdio.h>
#define MAX 2000010
#define MAXD 2000000
char ciur[MAX];
FILE *fin, *fout;
long long N, rasp;
int main() {
long long i, j;
fin = fopen("ciur.in", "r");
fscanf(fin, "%lld", &N);
fclose(fin);
fout = fopen("ciur.out", "w");
for(i = 2;i <= MAXD;i++)
if(ciur[i] == 0)
for(j = i * i;j <= MAXD;j += i)
ciur[j] = 1;
for(i = 2;i <= N;i++)
if(ciur[i] == 0)
rasp++;
fprintf(fout, "%lld", rasp);
fclose(fout);
return 0;
}
