Pagini recente » Cod sursa (job #2705571) | Cod sursa (job #2237716) | Cod sursa (job #2368813) | Cod sursa (job #835199) | Cod sursa (job #1915190)
#include <bits/stdc++.h>
using namespace std;
ifstream fi("sum.in");
ofstream fo("sum.out");
using i64 = long long;
const int NMAX = 1e5 + 5;
i64 c[NMAX];
int px[NMAX];
bool p[NMAX];
void pinex() {
p[0] = p[1] = 1;
for (int i = 4; i < NMAX; i+= 2)
p[i] = 1;
for (int i = 3; i * i < NMAX; i+= 2) if (!p[i])
for (int j = i * i; j < NMAX; j+= 2 * i)
p[j] = 1;
for (int i = 2; i < NMAX; ++i)
px[i] = 1;
for (int i = 2; i * i < NMAX; ++i)
for (int j = i * i; j < NMAX; j+= i * i)
px[j] = 0;
for (int i = 2; i < NMAX; ++i) if (!p[i])
for (int j = i; j < NMAX; j+= i)
px[j]*= -1;
for (int i = 2; i < NMAX; ++i) if (px[i])
for (int j = i; j < NMAX; j+= i)
c[j]+= (2LL * j / i) * (2LL * j / i + 1) / 2 * i * px[i]; }
int main() {
int n, t;
pinex();
fi >> n;
while (n--) {
fi >> t;
fo << (2LL * t) * (2LL * t + 1) / 2 + c[t] << '\n'; }
return 0; }