Cod sursa(job #2291686)
| Utilizator | Data | 28 noiembrie 2018 14:54:15 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include<fstream>
int phi(long long int n) {
long long int result = n;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
while (n % i == 0)
n /= i;
result -= result / i;
}
}
if (n > 1)
result -= result / n;
return result;
}
int main() {
FILE *i, *o;
long long int n, result = 1;
i = fopen("fractii.in", "r");
fscanf(i, "%d", &n);
o = fopen("fractii.out", "w");
for (int i = 2; i <= n; i++)
result += 2 * phi(i);
fprintf(o, "%d\n", result);
fclose(i);
fclose(o);
return 0;
}