Cod sursa(job #1408314)
| Utilizator | Data | 29 martie 2015 23:21:26 | |
|---|---|---|---|
| Problema | Sum | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include<cstdio>
#include<algorithm>
#include<cstring>
#define Nmax 100005
int i,j,q;
int w[Nmax];
long long n,sol;
void ciur()
{
for (i=2;i<=Nmax-5;i++)
if (!w[i])
{
for (j=i+i;j<=Nmax-5;j+=i)
w[j]+=((j/i)-1);
}
}
int main()
{
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%d",&q);
ciur();
while (q--)
{
scanf("%lld",&n);
sol=n-1-w[n];
printf("%lld\n",sol*n*2*1LL) ;
}
return 0;
}
