Pagini recente » Cod sursa (job #1061773) | Cod sursa (job #745595) | Cod sursa (job #694388) | Cod sursa (job #453377) | Cod sursa (job #355233)
Cod sursa(job #355233)
#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);
for(i=1;i<=N;++i)
{
scanf("%d",&x);
euler(x);
printf("%d\n",e[x]*2*x);
}
return 0;
}