Cod sursa(job #1875598)

Utilizator TudoseSanzianaTudose Sanziana TudoseSanziana Data 11 februarie 2017 12:49:28
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>
#include <algorithm>
using namespace std;

int n,lim;
long long ans,phi[100005];
int v[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",&v[i]);
        lim=max(lim,v[i]);
    }

    for (int i=1; i<=lim; i++) phi[i]=i;

    for (int i=2; i<=lim; i++)
        if (phi[i]==i)
            for (int j=i; j<=lim; j+=i) phi[j] /=i, phi[j] *= (i-1);

    for(int i=1; i<=n; i++)
    {
        ans=v[i]*2*phi[v[i]];
        printf("%lld\n",ans);
    }
    return 0;
}