Pagini recente » Cod sursa (job #470076) | Profil BratuAlexandru | Monitorul de evaluare | Istoria paginii runda/runda1 | Cod sursa (job #1785057)
#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;
int main()
{
ifstream f("sum.in");
ofstream g("sum.out");
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]+=i*(2*i+1);
for(i=1;i<=n;i++)
{
f>>x;
g<<sum[x]<<'\n';
}
return 0;
}