Pagini recente » Cod sursa (job #799404) | Cod sursa (job #821988) | Cod sursa (job #2279903) | Borderou de evaluare (job #2410080) | Cod sursa (job #2781136)
#include <stdio.h>
int indEuler(int n) {
int euler, d;
euler = n;
d = 2;
while (d * d <= n) {
if (n % d == 0) {
euler = euler / d * (d - 1);
while (n % d == 0)
n /= d;
}
++d;
}
if (n > 1)
euler = euler / n * (n - 1);
return euler;
}
int main() {
FILE *fin, *fout;
fin = fopen("fractii.in", "r");
fout = fopen("fractii.out", "w");
int n, i;
long long s;
fscanf(fin, "%d", &n);
s = 1;
for (i = 2; i <= n; ++i)
s += indEuler(i) * 2;
fprintf(fout, "%lld\n", s);
fclose(fin);
fclose(fout);
return 0;
}