Cod sursa(job #2129866)
Utilizator | Radu Capalb klbradu | Data | 13 februarie 2018 10:31:28 |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <stdio.h>
int main() {
int N, i, j, fi[1000000];
long long count = 1;
FILE* in = fopen("fractii.in", "r");
FILE* out = fopen("fractii.out", "w");
fscanf(in, "%d", &N);
for (i = 1; i <= N; i++) {
fi[i] = i - 1;
}
for (i = 2; i <= N; i++) {
count += 2 * fi[i];
for (j = 2 * i; j <= N; j += i) {
fi[j] -= fi[i];
}
}
fprintf(out, "%lld", count);
fclose(in);
fclose(out);
return 0;
}