Pagini recente » Cod sursa (job #2199624) | Cod sursa (job #3201232) | Cod sursa (job #1509620) | Cod sursa (job #2938896) | Cod sursa (job #3266670)
#include <fstream>
#include <vector>
using namespace std;
const int XMAX = 1e5;
int main()
{
ifstream in("sum.in");
ofstream out("sum.out");
vector <int> e(XMAX + 1);
for (int i = 1; i <= XMAX; i++)
{
e[i] = i;
}
for (int d = 2; d <= XMAX; d++)
{
if (e[d] == d)///d este prim
{
///deci va influenta e[m] pentru fiecare multiplu m al sau
for (int m = d; m <= XMAX; m += d)
{
e[m] = e[m] / d * (d - 1);
}
}
}
int n;
in >> n;
for (int i = 0; i < n; i++)
{
int x;
in >> x;
out << 2LL * x * e[x] << "\n";
}
in.close();
out.close();
return 0;
}