Cod sursa(job #2910372)
| Utilizator | Data | 20 iunie 2022 10:56:43 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.67 kb |
#include <stdio.h>
#include <stdlib.h>
#define NMAX 2000000
int main()
{
FILE *in, *out;
in = fopen("ciur.in", "r");
out = fopen("ciur.out", "w");
int n;//
bool caract[NMAX + 1];
int cnt = 0;
fscanf(in, "%d", &n);
caract[0] = 0;
caract[1] = 0;
for(int i = 2; i <= n; i++)
{
caract[i] = 1;
}
for(int i = 2; i <= n; i++)
{
if(caract[i] == 1)
{
cnt++;
for(int j = 2 * i; j <= n; j+=i)
{
caract[j] = 0;
}
}
}
fprintf(out, "%d\n", cnt);
fclose(in);
fclose(out);
return 0;
}
