Cod sursa(job #2308339)
Utilizator | Data | 26 decembrie 2018 21:26:08 | |
---|---|---|---|
Problema | Sum | Scor | 60 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("sum.in");
ofstream out("sum.out");
const int NMAX = 100000;
long long phi[NMAX + 5];
int n = 0, x = 0, i, j;
int main()
{
for (i = 1; i < NMAX; ++i) {
phi[i] = i;
}
for (i = 2; i < NMAX; ++i) {
if(phi[i] == i){
for(j = i; j < NMAX; j += i){
phi[j] /= i;
phi[j] *= (i-1);
}
}
}
in >> n;
for(i = 1; i <= n; ++i) {
in >> x;
out << x * phi[x] * 2 << endl;
}
return 0;
}