Cod sursa(job #1876560)

Utilizator dianamariaDiana Cataros dianamaria Data 12 februarie 2017 14:28:17
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <cstdio>

using namespace std;

long long phi[100001];
int v[100001];
int main()
{
    freopen("sum.in","r",stdin);
    freopen("sum.out","w",stdout);
    int n,i,j,x,lmax=0;
    scanf ("%d",&n);
    for (i=1;i<=n;i++)
    {
        scanf ("%d",&v[i]);
        if (v[i]>lmax)
            lmax=v[i];
    }
    for (i=1;i<=lmax;i++)
        phi[i]=i;
    for (i=2;i<=lmax;i++)
        if (phi[i]==i)
            for (j=i;j<=lmax;j+=i)
            {
                phi[j]*=i-1;
                phi[j]/=i;
            }
    /*for (i=1;i<=lim;i++)
        out<<phi[i]<<" ";
    out<<'\n';*/
    for (i=1;i<=n;i++)
        printf ("%lld\n",v[i]*phi[v[i]]*2);
    return 0;
}