Cod sursa(job #2781500)

Utilizator vlad_dimuVlad Dimulescu vlad_dimu Data 9 octombrie 2021 17:53:34
Problema Sum Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
#define XMAX 100000
using namespace std;

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

int euler[XMAX + 1];

void indicator(){
  int i, j;
  for( i = 1; i <= XMAX; i++ )
    euler[i] = i;

  for( i = 2; i <= XMAX; i++ )
    if( euler[i] == i )
      for( j = i; j <= XMAX; j += i )
        euler[j] = euler[j] / i * (i - 1);
}

int main(){
  int n, x;
  indicator();
  fin >> n;
  while( n-- ){
    fin >> x;
    fout <<1LL * 2 * x * euler[x] << '\n';
  }
  return 0;
}