Cod sursa(job #118145)

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

const int maxn = 100001;

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];

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

        long long s = (long long)phi[x]*x*2LL;

        fprintf(out, "%lld\n", s);
    }

	return 0;
}