Cod sursa(job #337478)

Utilizator rumburakrumburak rumburak Data 3 august 2009 19:38:15
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.41 kb
#include<cstdio>

const int N = (1<<17);

int e[N];

void euler()
{
	int i,j;
	for(i=2;i<N;++i)
		e[i]=i;
	for(i=2;i<N;++i)
		if(e[i]==i)
			for(j=i;j<N;j+=i)
				e[j]=e[j]/i*(i-1);
}

int main()
{
	freopen("sum.in","r",stdin);
	freopen("sum.out","w",stdout);
	euler();
	int n,x;
	scanf("%d",&n);
	while(n--)
	{
		scanf("%d",&x);
		printf("%lld\n",((long long)e[x]<<1)*x);
	}
	return 0;
}