Cod sursa(job #1865193)

Utilizator demetriad-dagpagDavid Demetriad demetriad-dagpag Data 1 februarie 2017 15:39:39
Problema Sum Scor 85
Compilator c Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int getINT()
{
    int nr=0;
    char c;
    c=getchar();
    while(!isdigit(c))
        c=getchar();
    while(isdigit(c))
    {
        nr=nr*10+c-'0';
        c=getchar();
    }
    return nr;
}
int main()
{
    int t,i,x,e,xc,div;
    freopen("sum.in","r",stdin);
    freopen("sum.out","w",stdout);
    t=getINT();
    for(i=1; i<=t; i++)
    {
        x=getINT();
        div=2;
        e=1;
        xc=x;
        while(div*div<=x)
        {
            if(x%div==0){
                while(x%div==0)
                    e*=div,x/=div;
                e/=div;
                e*=(div-1);
            }
            div++;
        }
        if(x>1)
            e*=(x-1);
        printf("%lld\n",(long long)2*xc*e);
    }

    return 0;
}