Cod sursa(job #2197109)
Utilizator | Data | 21 aprilie 2018 10:19:50 | |
---|---|---|---|
Problema | Sum | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
#define N 100001
using namespace std;
ifstream cin("sum.in");
ofstream cout("sum.out");
int e[N];
void euler( int n )
{
for ( int i = 2; i <= n; i ++ )
e[i] = i;
for ( int i = 2; i <= n; i ++ )
if ( e[i] == i )
for ( int j = i; j <= n; j += i )
e[j] = e[j] / i * ( i - 1 );
}
int main()
{
int n,i,z,x;
cin >> n;
euler(100001);
for(i = 0; i < n; i++)
{
cin >> x;
cout << 2LL * e[x]*x<< "\n";
}
return 0;
}