Pagini recente » Cod sursa (job #1286648) | Cod sursa (job #1185958) | Cod sursa (job #2125079) | Cod sursa (job #72220) | Cod sursa (job #2723769)
#include <bits/stdc++.h>
#define ULL unsigned long long
#define MAX (ULL)100000
std::ifstream fin("sum.in");
std::ofstream fout("sum.out");
ULL a[MAX + 1], nrMult[MAX + 1];
int main()
{
for(ULL i = 2, nr = 3; i <= MAX; i++)
{
nr += i * 4 - 1;
a[i] += nr;
if(!nrMult[i])
{
nrMult[i] = 1;
a[i] -= i * 3;
}
else
a[i] += i * 3;
for(ULL j = i * 2, nr2 = i * 3; j <= MAX; j += i)
{
nrMult[j]++;
nr2 += j * 4 - i;
a[j] += (nrMult[i] % 2 ? -nr2 : nr2);
}
}
int n, x;
fin >> n;
while(n--)
{
fin >> x;
fout << a[x] << '\n';
}
return 0;
}