Cod sursa(job #2129464)
Utilizator | Moldovan Andrei MoldovanAndrei1 | Data | 12 februarie 2018 20:49:32 |
---|---|---|---|
Problema | Sum | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <cstdio>
using namespace std;
int v[100005];
int main()
{
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
int i;
for(i=2;i<=100002;i++)v[i]=i;
for(i=2;i<=100002;i++)
if(v[i]==i)
for(int j=i;j<=100000;j+=i)v[j]=v[j]*(i-1)/i;
int n ,nr;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&nr);
printf("%lld\n",1LL*2*nr*v[nr]);
}
return 0;
}