Cod sursa(job #1882331)

Utilizator AlexandruLuchianov1Alex Luchianov AlexandruLuchianov1 Data 17 februarie 2017 09:34:55
Problema Sum Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in ("sum.in");
ofstream out ("sum.out");
int indicator(int n){
  int s = 1;
  if((n % 2 ) == 0){
    while( (n % 2 ) == 0){
      s *= 2;
      n /= 2;
    }
  s /= 2;
  s *= 1;
  }

  for(int i = 3 ; i * i <= n ;i+= 2){
    if((n % i ) == 0){
      while( (n % i ) == 0){
        s *= i;
        n /= i;
      }
      s /= i;
      s *= (i - 1);
    }
  }
  if(1 < n){
    s *= (n - 1);
  }
  return s;
}
int main()
{
  int n ,a ;
  in>>n;
  for(int i = 0 ; i < n;i++){
    in>>a;
    out<<a * indicator(a) * 2<<'\n';
  }
  return 0;
}