Cod sursa(job #551414)

Utilizator Eugen01Vasilescu Eugen Eugen01 Data 10 martie 2011 19:22:02
Problema Sum Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.39 kb
#include<stdio.h>
#define Nmax 100009

int x,i,j,n,a[Nmax];

int main()
{
	freopen("sum.in","r",stdin);
	freopen("sum.out","w",stdout);
	
	scanf("%d",&n);
	
	for (i=1;i<=Nmax;i++)
		a[i]=i;
	for (i=2;i<=Nmax;i++)
		if (a[i]==i)
			for (j=i;j<Nmax;j+=i)
				a[j]=a[j]*(i-1)/i;
	
	for (i=1;i<=n;i++)
	{
		scanf("%d",&x);
		printf("%lld\n",(long long)2*x*a[x]);
	}
	return 0;
}