Cod sursa(job #3322630)
| Utilizator | Data | 15 noiembrie 2025 09:28:06 | |
|---|---|---|---|
| Problema | Sum | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <fstream>
using namespace std;
const int NMAX = 1e5;
long long Phi[NMAX + 1];
ifstream f("sum.in");
ofstream g("sum.out");
void Euler(int N)
{
for(int i = 1; i <= N; i++)
Phi[i] = i;
for(int i = 2; i <= N; i++)
if(Phi[i] == i) /// i este prim
for(int j = i; j <= N; j += i)
Phi[j] -= Phi[j] / i;
}
int main()
{
int n, x;
Euler(NMAX);
f >> n;
while(n--)
{
f >> x;
g << 2LL * Phi[x] * x << '\n';
}
f.close();
g.close();
return 0;
}
