Cod sursa(job #1863818)

Utilizator ionanghelinaIonut Anghelina ionanghelina Data 31 ianuarie 2017 11:09:46
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<bits/stdc++.h>
using namespace std;
int n,m;
int phi[100005],x[100005];
int main()
{
    freopen("sum.in","r",stdin);
    freopen("sum.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&x[i]);
        m=max(m,x[i]);
    }
    for(int i=2;i<=m;i++) phi[i]=i;
    for(int i=2;i<=m;i++)
    {
        if(phi[i]==i)
        for(int j=i;j<=m;j+=i)
        {
            phi[j]=phi[j]/i*(i-1);
        }
    }
    for(int i=1;i<=n;i++)
    {
        printf("%lld\n",2LL*x[i]*phi[x[i]]);
    }
    return 0;
}