Cod sursa(job #1556007)
Utilizator | Data | 23 decembrie 2015 22:22:55 | |
---|---|---|---|
Problema | Sum | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <fstream>
using namespace std;
int v[100010], fi[100010];
int n, x, i, j;
int main () {
ifstream fin ("sum.in");
ofstream fout("sum.out");
for (i=1;i<=100000;i++)
fi[i] = i;
for (i=2;i<=100000;i++)
if (v[i] == 0) {
for (j=i;j<=100000;j+=i) {
if (j!=i)
v[j] = 1;
fi[j] = fi[j]/i*(i-1);
}
}
fin>>n;
for(;n--;) {
fin>>x;
fout<<2*x*fi[x]<<"\n";
}
return 0;
}