Cod sursa(job #379140)
Utilizator | Data | 30 decembrie 2009 18:53:51 | |
---|---|---|---|
Problema | Sum | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.36 kb |
#include<stdio.h>
int phi[100099];
const int N=100098;
int main()
{
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
int n,x;
scanf("%d",&n);
for (int i=1;i<=N;++i)
phi[i] = i-1;
for (int i=2;i<=N;++i)
for (int j=2*i;j<=N;j+=i)
phi[j]-=phi[i];
for(;n--;)
{
scanf("%d",&x);
printf("%d\n",((phi[x]*x)<<1));
}
return 0;
}