Pagini recente » Borderou de evaluare (job #2051229) | Cod sursa (job #2951131) | Cod sursa (job #1649546) | Cod sursa (job #1528009) | Cod sursa (job #1882331)
#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;
}