Cod sursa(job #2129855)
Utilizator | Radu Capalb klbradu | Data | 13 februarie 2018 10:26:23 |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <stdio.h>
char fi[1000000];
int main() {
int N, i, j;
long long int 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++) {
for (j = 2 * i; j <= N; j += i) {
fi[j] -= fi[i];
}
}
for (i = 2; i <= N; i++) {
count += 2 * fi[i];
}
fprintf(out, "%lld", count);
fclose(in);
fclose(out);
return 0;
}