Pagini recente » Cod sursa (job #1677209) | Cod sursa (job #1957427) | Cod sursa (job #1939057) | Cod sursa (job #787023) | Cod sursa (job #592957)
Cod sursa(job #592957)
#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, "%ld", &n);
for (i = 2; i <= n; i++) {
result += totient(i);
}
result = result * 2 + 1;
fprintf(fout, "%ld\n", result);
fclose(fin);
fclose(fout);
return 0;
}