Cod sursa(job #124104)

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

long int 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("%ld",&n);
ciur();

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