Cod sursa(job #1046331)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 2 decembrie 2013 20:39:48
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <cstdio>

using namespace std;

int v[100010];

inline void EulerIndicator()
{
    int i,j;
    for(i=1;i<=100005;++i)
        v[i]=i-1;
    for(i=2;i<=50005;++i)
        for(j=i*2;j<=100005;j+=i)
            v[j]-=v[i];
}

int main()
{
    int N,X;
    freopen("sum.in","r",stdin);
    freopen("sum.out","w",stdout);
    EulerIndicator();
    scanf("%d", &N);
    while(N--)
    {
        scanf("%d", &X);
        printf("%lld\n", 2LL*v[X]*X);
    }
    return 0;
}