Pagini recente » Cod sursa (job #1116723) | Cod sursa (job #1090735) | Cod sursa (job #1591393) | Cod sursa (job #2548293) | Cod sursa (job #230461)
Cod sursa(job #230461)
#include <stdio.h>
FILE *fi = fopen("fractii.in", "r");
FILE *fo = fopen("fractii.out", "w");
unsigned long long NS = 1;
unsigned long N;
long long putere(long x, long y) {
long long p = 1;
if (y==0) return 1;
if (y==1) return x;
for (long i=1; i<=y; i++) p*=x;
return p;
}
long long totient(long X) {
long k=0, D=3;
long long NF = 1;
if (X==1) return 1;
if (X%2 == 0) {
while (X%2 == 0) { X/=2; k++; }
NF=putere(2, k-1);
}
while (X>1) {
k = 0;
if (X%D == 0) {
while (X%D == 0) { X/=D; k++; }
NF*=putere(D, k-1)*(D-1);
}
D+=2;
}
return NF;
}
int main() {
fscanf(fi, "%ld", &N);
/* for (long i=2; i<=N; i++) {
NS+=totient(i)*2;
}*/
fprintf(fo, "%llu\n", totient(20));
fclose(fi);
fclose(fo);
return 0;
}