Cod sursa(job #1782095)

Utilizator andy1207Cioltan Andrei andy1207 Data 17 octombrie 2016 19:30:25
Problema Sum Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<cstdio>
#define MAX 100000
int v[MAX+1];
void euler()
{
 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]=v[j]/i*(i-1);
        }
    }
}
int main()
{
 int n,var,rez;
 freopen("sum.in","r",stdin);
 freopen("sum.out","w",stdout);
 euler();
 scanf("%d",&n);
 for(int i=1;i<=n;i++)
    {
     scanf("%d",&var);
     rez=var*v[var]*2;
     printf("%d\n",rez);
    }
return 0;
}