Cod sursa(job #1875590)
| Utilizator | Data | 11 februarie 2017 12:38:24 | |
|---|---|---|---|
| Problema | Sum | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream in("sum.in");
ofstream out("sum.out");
int n,ans,lim;
int phi[100005], v[100005];
int main()
{
in>>n;
for(int i=1; i<=n; i++)
{
in>>v[i];
lim=max(lim,v[i]);
}
for(int i=1; i<=lim; i++) phi[i]=i-1;
for(int i=2; i<=lim; i++)
for(int j=2*i; j<=lim; j+=i) phi[j]-=phi[i];
for(int i=1; i<=n; i++)
{
ans=v[i]*2*phi[v[i]];
out<<ans<<'\n';
}
return 0;
}
