Cod sursa(job #2218896)
| Utilizator | Data | 6 iulie 2018 13:07:32 | |
|---|---|---|---|
| Problema | Sum | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <iostream>
#include <fstream>
using namespace std;
int phi[200001];
void calculeaza_phi() {
for (int i=1;i<=200000;i++){
phi[i]=i;
}
for (int i=2;i<=200000;i++){
if (phi[i]==i){
for (int j=i;j<=200000;j+=i) {
phi[j] /=i, phi[j] *= (i-1);
}
}
}
}
int main() {
ifstream f("sum.in");
ofstream g("sum.out");
int n,x;
f>>n;
calculeaza_phi();
for(int i=1;i<=n;i++) {
f>>x;
g<<(long long)phi[x]*x*2<<'\n';
}
f.close();
g.close();
}
