Cod sursa(job #1314886)

Utilizator andrei.arnautuAndi Arnautu andrei.arnautu Data 12 ianuarie 2015 14:45:46
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <cstdio>
#define Dim 100003

using namespace std;

FILE *fin=freopen("sum.in","r",stdin);
FILE *fout=freopen("sum.out","w",stdout);

int PHI[Dim], n, x;


void Compute()
{
    int i, j;

    for(i = 1; i < Dim ; ++i)
        PHI[i] = i - 1;

    for(i = 2; i * 2 < Dim ; ++i)
        for(j = i * 2 ; j < Dim ; j += i)
            PHI[j] -= PHI[i];

}

int main()
{
    Compute();
    for(scanf("%d", &n); n > 0 ; --n)
    {
        scanf("%d", &x);
        printf("%lld\n", 1LL * 2 * x * PHI[x]);
    }

    return 0;
}