Cod sursa(job #305119)
Utilizator | balint andrei andrei_balint | Data | 16 aprilie 2009 12:13:32 |
---|---|---|---|
Problema | Sum | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.41 kb |
#include<fstream>
using namespace std;
ifstream cin("sum.in");
ofstream cout("sum.out");
const int N=100001;
int n,v[N];
void euler(int n)
{
int i,j;
for(i=2;i<=n;i++)
v[i]=i;
for(i=2;i<=n;i++)
if(v[i]==i)
for(j=i;j<=n;j=j+i)
v[j]=v[j]/i*(i-1);
}
int main()
{
int i,n,x;
euler(N-1);
cin>>n;
for(i=1;i<=n;i++)
{
cin>>x;
cout<<2*(long long)x*v[x]<<"\n";
}
return 0;
}