Cod sursa(job #118140)

Utilizator DastasIonescu Vlad Dastas Data 23 decembrie 2007 10:25:50
Problema Sum Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <cstdio>

const int maxn = 200001;

FILE *in = fopen("sum.in","r"), *out = fopen("sum.out","w");

int n;
int phi[maxn];

int main()
{
    fscanf(in, "%d", &n);

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

    for ( int i = 2; i <= maxn; ++i )
        for ( int j = i << 1; j <= maxn; j += i )
            phi[j] -= phi[i];

    int x;
    for ( int i = 1; i <= n; ++i )
    {
        fscanf(in, "%d", &x);

        fprintf(out, "%lld\n", (unsigned long long)((unsigned long long)(phi[x]*x)*2));
    }

	return 0;
}