Cod sursa(job #2782670)

Utilizator davidenko22Stancu David-Andrei davidenko22 Data 12 octombrie 2021 20:09:10
Problema Sum Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>
using namespace std;

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

const int N_MAX = 100000;
int phi[N_MAX + 1];

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

int main(){
    int t, n;
    calcul_phi ();
    for ( fin >> t; t; t-- ) {
      fin >> n;
      fout << (long long) 2 * phi[n] * n << '\n';
    }
    return 0;
}