Cod sursa(job #462393)

Utilizator SpiderManSimoiu Robert SpiderMan Data 10 iunie 2010 18:21:20
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
# include <cstdio>

const char FIN[] = "sum.in", FOU[] = "sum.out";
const int MAX = 100005;

int V[MAX];
int T, X;

void ciur ()
{
   for ( int i = 1; i <= MAX; ++i )
        V[i] = i;

    for ( int i = 2; i <= MAX; ++i )
        if ( V[i] == i )
            for ( int j = i; j <= MAX; j += i )
                V[j] /= i, V[j] *= (i - 1) ;
}
int main()
{
    freopen ( FIN, "r", stdin );
    freopen ( FOU, "w", stdout );

    ciur () ;

    for ( scanf ("%d", &T); T ; --T )
    {
        scanf ("%d", &X);
        printf("%lld\n" , ( long long ) V[X] * X << 1);
    }

    return 0;
}