Pagini recente » Cod sursa (job #800013) | Cod sursa (job #1814393) | Cod sursa (job #1131315) | Cod sursa (job #628260) | Cod sursa (job #592954)
Cod sursa(job #592954)
#include <stdio.h>
unsigned long totient(unsigned long n)
{
unsigned long result, i;
result = n;
for (i = 2; i * i <= n; i++) {
if (n % i == 0)
result -= result / i;
while (n % i == 0) {
n /= i;
}
}
if (n > 1) result -= result / n;
return result;
}
int main() {
FILE *fin = fopen("fractii.in", "r");
FILE *fout = fopen("fractii.out", "w");
unsigned long n, i, result = 0;
fscanf(fin, "%d", &n);
for (i = 2; i <= n; i++) {
result += totient(i);
}
result = result * 2 + 1;
printf("%ld\n", result);
fclose(fin);
fclose(fout);
return 0;
}