Cod sursa(job #223526)

Utilizator catalin93Catalin Ionescu catalin93 Data 28 noiembrie 2008 19:02:57
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<stdio.h>
#define N 100001 

int e[N];
long long n,x,y,i;

 void euler()  
 {  
     long long i,j;  
     for(j=2;j<N;j++)  
         e[j] = j;  
     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);
	
	scanf("%lld",&n);
	euler();
	for(i=1;i<=n;++i)
	{		
	scanf("%lld",&x);
	printf("%lld\n",(x<<1)*e[x]);
	}
	
	return 0;
}