Cod sursa(job #135182)

Utilizator pikuAnca Miihai piku Data 13 februarie 2008 11:47:24
Problema Sum Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.41 kb
#include<cstdio>

#define max 200001
int phi[max];

void calcphi(int x)
{
for (int i = 1; i <= x; ++i)
    phi[i] = i-1;
for (int i = 2; i <= x; ++i)
    for (int j = 2*i; j <= x; j += i)
        phi[j] -= phi[i];
}

int main()
{
int n, x;
freopen("sum.in", "r", stdin);
freopen("sum.out", "w", stdout);
calcphi(max);
scanf("%d", &n);
while(n>0)
{
	scanf("%d", &x);
	printf("%d\n", 2*phi[x]*x);
	n--;
}
return 0;
}