Cod sursa(job #270195)

Utilizator mihnea_andreiMihnea Andrei mihnea_andrei Data 3 martie 2009 20:09:52
Problema Sum Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<fstream> 
#define N 100001 

using namespace std;

ifstream in ("sum.in"); 
ofstream out ("sum.out"); 

int x,n; 
int phi[N]; 

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

int main () 
{ 
	calcul (); 
	in>>n;
	for(int i=1;i<=n;i++)
	{
		in>>x;
		out<<2*(long long)x*phi[x]<<endl; 
	}
	in.close (); 
	out.close (); 
	return 0; 
}