Pagini recente » Cod sursa (job #507923) | Cod sursa (job #1159933) | Cod sursa (job #2751626) | Cod sursa (job #746445) | Cod sursa (job #355235)
Cod sursa(job #355235)
#include<cstdio>
const int NM=1<<17;
int e[NM];
void euler(int n)
{
int i,j;
for(i=2;i<=n;++i)
e[i]=i;
for(i=2;i<=n;++i)
if(e[i]==i)
for(j=i;j<=n;j+=i)
e[j]=e[j]/i*(i-1);
}
int main()
{
int N,i,x;
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%d",&N);
euler(100000);
for(i=1;i<=N;++i)
{
scanf("%d",&x);
printf("%lld\n",(long long) e[x]*2*x);
}
return 0;
}