Cod sursa(job #371012)

Utilizator SzabiVajda Szabolcs Szabi Data 3 decembrie 2009 00:10:17
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#include <stdio.h>

long long a[1000004];
long long x[1000004];

int main(){
long long i,j,n,max=0;
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);

scanf("%lld",&n);
for(i=1;i<=n;i++){
 scanf("%lld",&x[i]);
 if(x[i]>max){max=x[i];}
}

for(i=1;i<=max;i++){a[i]=i-1;}
for(i=2;i<=max;i++){
 for(j=i*2;j<=max;j+=i){
  a[j]-=a[i];
 }
}
a[1]=1;
for(i=1;i<=n;i++){
 printf("%lld\n",2*a[x[i]]*x[i]);
}

 return 0;
}