Cod sursa(job #124106)

Utilizator devilkindSavin Tiberiu devilkind Data 18 ianuarie 2008 10:14:16
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <stdio.h>
#define NMAX 100002
#define N 100001

long long a[NMAX],i,j,k,n,m;

void ciur()
{
for (i=2;i<=N;i++)
        a[i]=i;

for (i=2;i<=N;i++)
        if (a[i]==i)
                for (j=i;j<=N;j+=i) {a[j]/=i;
                                    a[j]*=(i-1);}
}

int main()
{
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);

scanf("%lld",&n);
ciur();

for (i=1;i<=n;i++)
        {
        scanf("%lld",&k);
        printf("%lld\n",2*k*a[k]);
        }
return 0;
}