Cod sursa(job #465975)

Utilizator MKLOLDragos Ristache MKLOL Data 25 iunie 2010 16:35:20
Problema Sum Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
int v[1000010];
long long N,S;
int main()
{
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%lld",&N);
for(int i=2;i<=101010*2;++i)
{
        if(v[i]==0)
        {
        v[i]=i-1;

        for(int j=i*2;j<=2*101010;j=j+i)
        {
                if(v[j]==0)
                v[j]=j-(j/i);
                else
                v[j]=v[j]-(v[j]/i);
        }
        }
}
S=1;
v[1]=1;
int x;
for(int i=1;i<=N;++i)
        {
        scanf("%d",&x);
        printf("%d\n",(long long)v[x]*x*2);
        }

return 0;
}