Cod sursa(job #1153018)

Utilizator ThomasFMI Suditu Thomas Thomas Data 25 martie 2014 10:36:53
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <cstdio>
using namespace std;

#define XMax 100002

int n,x;
int phi[XMax];

void Preproc()
{
    int i,j;
    for(i=1;i<XMax;i++) phi[i]=i;
    for(i=2;i<XMax;i++) if(phi[i]==i) for(j=i;j<XMax;j+=i) phi[j]/=i, phi[j]*=(i-1);
}

int main()
{
    freopen("sum.in","r",stdin);
    freopen("sum.out","w",stdout);

    scanf("%d",&n);

    Preproc();

    while(n)
    {
        --n;
        scanf("%d",&x);
        printf("%lld\n",(2LL*x*phi[x]));
    }

    return 0;
}