Cod sursa(job #676349)

Utilizator alexdmotocMotoc Alexandru alexdmotoc Data 9 februarie 2012 00:34:07
Problema Sum Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>
#include <iostream>
#include <cstring>

using namespace std;

#define maxN 200005

int N , X , phi[maxN];


void ciur ()
{
	for(int i = 1 ; i <= maxN ; ++i)
		phi[i] = i - 1;
	
	for(int i = 2 ; i <= maxN ; ++i)
		for(int j = i + i ; j <= maxN ; j += i)
			phi[j] -= phi[i];

}



int main ()
{
	freopen ("sum.in" , "r" , stdin);
	freopen ("sum.out" , "w" , stdout);
	
	scanf ("%d" , &N);
	
	long long sol;
	
	ciur ();
	
	for (int i = 1 ; i <= N ; ++i)
	{
		scanf ("%d" , &X);
		
		/*for (int i = 1 ; i <= 2 * X ; ++i)
			cout << phi[i] << " ";
		
		cout << "\n";*/
		
		sol = X * phi[X] * 2;
		printf ("%lld\n" , sol);
	}
	
	return 0;
}