Pagini recente » Cod sursa (job #2086824) | Cod sursa (job #1351412) | Cod sursa (job #61882) | Borderou de evaluare (job #1567151) | Cod sursa (job #1479501)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("sum.in");
ofstream fout("sum.out");
const int NMax = 1e5 + 1;
int v[NMax];
int main(){
int t, x;
string s;
fin >> t;
for(int i = 1; i < NMax; i++){
v[i] = i;
}
for(int j = 2; j < NMax; j += 2){
v[j] /= 2;
}
for(int i = 3; i < NMax; i += 2){
if(v[i] == i){
for(int j = i; j < NMax; j += i){
v[j] = v[j] / i * (i - 1);
}
}
}
while(t--){
x = 0;
fin >> s;
for(int i = 0; i < s.size(); i++){
x = x * 10 + (s[i] - '0');
}
fout << 1LL * v[x] * 2 * x << "\n";
}
return 0;
}