Pagini recente » Cod sursa (job #1248695) | Cod sursa (job #1270807) | Cod sursa (job #856518) | Cod sursa (job #523984) | Cod sursa (job #2780960)
#include <iostream>
#include <fstream>
using namespace std;
const int NMAX = 1e5;
int euler[1 + NMAX];
inline void gen_euler () {
for ( int i = 1; i <= NMAX; i ++ )
euler[i] = i - 1;
for ( int i = 2; i <= NMAX; i ++ )
if ( euler[i] == i )
for ( int j = 2 * i; j <= NMAX; j += i )
euler[j] = euler[j] / i * ( i - 1 );
}
ifstream fin ( "sum.in" );
ofstream fout ( "sum.out" );
int main()
{
gen_euler ();
int t; fin >> t;
while ( t -- ) {
int n; fin >> n;
fout << (long long) euler[n] * n * 2 << "\n";
}
return 0;
}