Pagini recente » Cod sursa (job #1759718) | Cod sursa (job #2242485) | Cod sursa (job #961559) | Cod sursa (job #1491130) | Cod sursa (job #129395)
Cod sursa(job #129395)
#include <stdio.h>
int v[100001], phi[100001];
int main()
{
freopen("sum.in", "r", stdin);
freopen("sum.out", "w", stdout);
int i, j, n, x;
long long sol;
for(i = 2; i <= 100000; ++i)
{
if(v[i] == 0)
{
phi[i] = i - 1;
for(j = 2 * i; j <= 100000; j += i)
{
v[j] = i;
}
}
else
{
if((i / v[i]) % v[i] == 0)
{
phi[i] = phi[i / v[i]] * v[i];
}
else
{
phi[i] = phi[i / v[i]] * (v[i] - 1);
}
}
}
scanf("%d", &n);
for(i = 1; i <= n; ++i)
{
scanf("%d", &x);
sol = 2 * (long long) x * phi[x];
printf("%lld\n", sol);
}
return 0;
}