Pagini recente » Cod sursa (job #886600) | Cod sursa (job #2427842) | Cod sursa (job #3131606) | Cod sursa (job #571137) | Cod sursa (job #69535)
Cod sursa(job #69535)
#include<stdio.h>
#include<fstream.h>
#include<math.h>
typedef struct
{
long x, e;
} factor;
factor v[10];
long n, contor, nr, x;
void descomp(long x)
{
int exp, d;
d=2;
nr=0;
while (x!=1)
{
exp=0;
if (x%d==0)
{
nr++;
while (x%d==0)
{
exp++;
x/=d;
}
v[nr].e=exp;
v[nr].x=d;
}
d++;
}
}
long totient(long x)
{
long i, c=1;
for (i=1; i<=nr; i++)
c*=((v[i].x-1)*pow(v[i].x,v[i].e-1));
return c;
}
void prelucrare2()
{
long long i, j, s1;
ifstream in("sum.in");
ofstream out("sum.out");
in>>n;
for (i=1; i<=n; i++)
{
in>>x;
descomp(x);
long long a=totient(x);
s1=(x*a)/2;
s1*=2;
out<<s1*2<<'\n';
}
}
int main()
{
prelucrare2();
return 0;
}