Cod sursa(job #2774048)
Utilizator | Papuc Stefan dotyzebra775 | Data | 9 septembrie 2021 16:24:27 |
---|---|---|---|
Problema | Sum | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <fstream>
#define N 100005
using namespace std;
ifstream fin("sum.in");
ofstream fout("sum.out");
int n;
int phi[N + 5];
void euler()
{
int i, j;
for (i = 1; i <= N; ++ i)
phi[i] = i;
for (i = 2; i <= N; ++ i)
if (phi[i] == i)
{
phi[i] --;
for (j = 2 * i; j <= N; j += i)
phi[j] = phi[j] / i * (i - 1);
}
}
int main()
{
int x, i;
fin >> n;
euler();
for (i = 1; i <= n; ++ i)
{
fin >> x;
fout << 1LL * 2 * x * phi[x] << "\n";
}
return 0;
}