Cod sursa(job #2002822)

Utilizator DavidLDavid Lauran DavidL Data 20 iulie 2017 20:59:44
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <cstdio>
#define MAX 100000

int phi[MAX+5];

void getPhi()
{
    for (int i=1; i<=MAX; i++)
        phi[i]=i-1;
    for (int i=2; i<=MAX; i++)
        for (int j=2*i; j<=MAX; j+=i)
            phi[j]-=phi[i];
}

int main()
{
    freopen("sum.in","r",stdin);
    freopen("sum.out","w",stdout);
    getPhi();
    int n,x;
    scanf("%d",&n);
    for (int i=1; i<=n; i++)
    {
        scanf("%d",&x);
        printf("%lld\n",2LL*phi[x]*x);
        ///sunt phi[x] nr.,
        ///m.aritm.=x
    }
    return 0;
}