Cod sursa(job #379221)

Utilizator Mishu91Andrei Misarca Mishu91 Data 30 decembrie 2009 23:20:52
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <cstdio>

#define MAX_N 100005

int phi[MAX_N];

void ciur()
{
	for(int i = 2; i <= 100000; ++i)
		phi[i] = i;

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

int T;

int main()
{
	freopen("sum.in","rt",stdin);
	freopen("sum.out","wt",stdout);

	ciur();

	scanf("%d",&T);
	while(T--)
	{
		int x;
		scanf("%d\n", &x);

		printf("%lld\n", (long long)x * phi[x] * 2);
	}
}