Pagini recente » Istoria paginii utilizator/chestia | Cod sursa (job #572279) | Cod sursa (job #96129) | Cod sursa (job #2079259) | Cod sursa (job #238466)
Cod sursa(job #238466)
#include <stdio.h>
#define ll long long
ll phi[100005];
int test[100005];
int m,max;
void read ()
{
int i;
scanf ("%d",&m);
for (i=1; i<=m; ++i)
{
scanf ("%d",&test[i]);
if (test[i]>max)
max=test[i];
}
}
void ciuru ()
{
int i,j;
for (i=1; i<=max+1; ++i)
phi[i]=i;
for (i=2; i<=max+1; ++i)
if (phi[i]==i)
for (j=i; j<=max+1; j+=i)
{
phi[j]/=i;
phi[j]*=i-1;
}
}
void solve ()
{
int i;
for (i=1; i<=m; ++i)
printf ("%lld\n",2*phi[test[i]]*test[i]);
}
int main ()
{
freopen ("sum.in","r",stdin);
freopen ("sum.out","w",stdout);
read ();
ciuru ();
solve ();
return 0;
}