Cod sursa(job #216399)

Utilizator ilincaSorescu Ilinca ilinca Data 24 octombrie 2008 13:58:14
Problema Sum Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#include <stdio.h>

#define maxx 100005

int n, e [maxx];

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

int main ()
{
	int i, x;
	freopen ("sum.in", "r", stdin);
	freopen ("sum.out", "w", stdout);
	euler (maxx);
	scanf ("%d", &n);
	for (i=1; i<=n; ++i)
	{
		scanf ("%d", &x);
		printf ("%lld\n", (long long)e [x]*x*2);
	}
}