Pagini recente » Cod sursa (job #2877905) | Cod sursa (job #799253) | Cod sursa (job #1563505) | Cod sursa (job #1864681) | Cod sursa (job #216387)
Cod sursa(job #216387)
#include<stdio.h>
#define M 100001
int N;
long long x;
int e[M+9];
void euler()
{
int i,j;
for(i=3; i<M; i+=2)
e[i]=i;
e[2]=1;
for(i=4; i<M; i+=2)
e[i]=i>>1;
for(i=3; i<M; i+=2)
{
if(e[i]==i)
{
e[i]--;
for(j=i<<1; j<M; j+=i)
e[j]=e[j]/i*(i-1);
}
}
}
long long afla(int j,int i)
{
int r=1;
while(j%i==0)
{
j/=i;
r*=i;
}
r*=i;
long long r1=(long long)r;
return r1;
}
void rezolva()
{
scanf("%lld",&x);
long long aux=(long long)e[x];
printf("%lld\n",2*aux*x);
}
int main()
{
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%d",&N);
euler();
for(; N; N--)
rezolva();
return 0;
}