Cod sursa(job #135185)

Utilizator pikuAnca Miihai piku Data 13 februarie 2008 11:51:55
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.42 kb
#include<cstdio>

#define max 100001
long long phi[max];

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

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("%lld\n", 2*phi[x]*x);
	n--;
}
return 0;
}