Cod sursa(job #2308341)
Utilizator | Data | 26 decembrie 2018 21:29:31 | |
---|---|---|---|
Problema | Sum | Scor | 60 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
#define NMAX 100005
using namespace std;
ifstream in("sum.in");
ofstream out("sum.out");
long long x = 0;
int n = 0, phi[NMAX + 5], 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;
}