Cod sursa(job #2780960)

Utilizator andreic06Andrei Calota andreic06 Data 8 octombrie 2021 10:26:13
Problema Sum Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#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;
}