Cod sursa(job #1393176)

Utilizator pepsiM4A1Ozturk Arif pepsiM4A1 Data 19 martie 2015 10:09:07
Problema Sum Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <cstdio>
#include <cmath>
long long sum,phi;
int n,x;
int div[501];
int main()
{
    freopen ("sum.in","r",stdin);
    freopen ("sum.out","w",stdout);
    scanf("%d",&x);
    for(int vv=1;vv<=x;vv++)
    {
            scanf("%d",&n);
            phi=n;
            int temp=n;
            int p=1;
            int si=(int)sqrt(n)+1;
            if(n%2==0)
            {
                      phi/=2;
                      while(n%2==0) n/=2;
            }
            for(int j=3;j<=si;j+=2)
            {
                    if(n%j==0)
                    {
                              phi/=j;
                              phi*=(j-1);
                              while(n%j==0) n/=j;
                    }
            }
            if(n!=1)
            {
                    phi/=n;
                    phi*=(n-1);
            }
            sum=(long long)2*temp*phi;
            printf("%lld\n",sum);
    }
}