Pagini recente » Diferente pentru junior-challenge-2008/solutii intre reviziile 3 si 2 | Diferente pentru problema/nasa intre reviziile 4 si 8 | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #2668106)
#include <bits/stdc++.h>
using namespace std;
int T,n;
vector <int> Ciur(100005);
int main()
{
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
for(int i=2;i<=100000;i++)
Ciur[i]=i-1;
for(int i=1;i<=100000;i++)
for(int j=2*i;j<=100000;j+=i)
Ciur[j]-=Ciur[i];
cin>>T;
while(T--)
{
cin>>n;
cout<<1LL*2*Ciur[n]*n<<'\n';
}
return 0;
}