Pagini recente » Cod sursa (job #60493) | Cod sursa (job #2719111) | Cod sursa (job #2113057) | Cod sursa (job #2386453) | Cod sursa (job #230388)
Cod sursa(job #230388)
#include <stdio.h>
FILE *fi = fopen("fractii.in", "r");
FILE *fo = fopen("fractii.out", "w");
unsigned long N, NF = 1;
unsigned int totient(unsigned long X) {
long D = 2, P1 = 1, P2 = X;
while (X>1) {
if (X%D == 0) { P1*=(D-1); P2/=D; }
while (X%D == 0) X/=D;
D++;
}
return P1*P2;
}
int main() {
fscanf(fi, "%uld", &N);
for (int i=2; i<=N; i++) NF+=totient(i)*2;
fprintf(fo, "%ld\n", NF);
fclose(fi);
fclose(fo);
return 0;
}