Pagini recente » Cod sursa (job #573554) | Cod sursa (job #532622) | Cod sursa (job #2750710) | Cod sursa (job #2123565) | Cod sursa (job #2723773)
#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] += (nrMult[i] % 2 ? 0 : 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;
}