Cod sursa(job #1485951)
Utilizator | Lucian Trepteanu LucianT | Data | 13 septembrie 2015 14:05:48 |
---|---|---|---|
Problema | Sum | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.45 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
int n,euler[100005],i,j,a;
long long rasp;
int main()
{
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=100005;i++) euler[i]=i;
for(i=2;i<=100005;i++) if(euler[i]==i) for(j=i;j<=100005;j+=i) euler[j]/=i,euler[j]=euler[j]*(i-1);
for(i=1;i<=n;i++) {scanf("%d",&a);
printf("%lld\n",1LL*2*a*euler[a]);}
return 0;
}