Pagini recente » Cod sursa (job #1619113) | Atasamentele paginii Clasament runda_1_biscuiti_cu_lacuste | Istoria paginii fmi-no-stress-4/solutii/beri | Cod sursa (job #1572788) | Cod sursa (job #1785143)
#include <iostream>
#include<fstream>
using namespace std;
const int nmax=100000;
int n,i,j,nrdiv[nmax+5],x;
long long sum[nmax+5],t,q,ind;
int main()
{
ifstream f("sum.in");
freopen("sum.out","w",stdout);
f>>n;
for(i=2;i<=nmax;i++)
{
if(nrdiv[i]!=-1)
for(j=i;j<=nmax;j+=i)
{
if(nrdiv[i]<2)
{
if(nrdiv[j]!=-1)nrdiv[j]++;
if((j/i)%i==0) nrdiv[j]=-1;
}
t=(2*j)/i;
q=(1LL)*i*t*(t+1)/2;
if(nrdiv[i]%2==0) sum[j]+=q;
else sum[j]-=q;
}
}
for(i=1;i<=nmax;i++)
{sum[i]+=(1LL)*i*(2*i+1);}
for(i=1;i<=n;i++)
{
f>>x;
printf("%lld\n",sum[x]);
}
return 0;
}