Pagini recente » Cod sursa (job #453967) | Cod sursa (job #453941) | Cod sursa (job #710439) | Cod sursa (job #2850513) | Cod sursa (job #1207151)
#include <cstdio>
#define NMAX 100000
using namespace std;
int N;
int Phi[NMAX+5];
void initializePhi()
{
for(int i=1;i<=NMAX;i++)
Phi[i]=i-1;
}
void Eratostenes()
{
int i,j;
for(i=2;i*2<=NMAX;i++)
if(Phi[i]==i-1)
for(j=i+i;j<=NMAX;j+=i)
Phi[j]-=Phi[j]/i;
}
void getSolutions()
{
int X;
for(int i=1;i<=N;i++)
{
scanf("%d",&X);
printf("%lld\n",2LL*X*Phi[X]);
}
}
int main()
{
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%d",&N);
initializePhi();
Eratostenes();
getSolutions();
return 0;
}