Pagini recente » Cod sursa (job #276082) | Cod sursa (job #2213069) | Cod sursa (job #1870239) | Cod sursa (job #1346066) | Cod sursa (job #1882343)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("sum.in");
ofstream out ("sum.out");
long long indicator(int n){
long long s = 1;
if((n % 2 ) == 0){
n /= 2;
while( (n % 2 ) == 0){
s *= 2;
n /= 2;
}
s *= 1;
}
for(int i = 3 ; i * i <= n ;i+= 2){
if((n % i ) == 0){
n /= i;
while( (n % i ) == 0){
s *= i;
n /= i;
}
s *= (i - 1);
}
}
if(1 < n){
s *= (n - 1);
}
return s;
}
int main()
{
int n ;
int a ;
in>>n;
for(int i = 0 ; i < n;i++){
in>>a;
if(a == 2)
out<<2<<'\n';
else
out<<a * indicator(a) * 2LL<<'\n';
}
return 0;
}