Pagini recente » Monitorul de evaluare | Cod sursa (job #3360902) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #3360894)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("sum.in");
ofstream fout ("sum.out");
const int XMAX = 100000;
int NrPrimeCuN[XMAX + 1];
void SirDeNrPrimeCuN() {
NrPrimeCuN[1] = 1;
for (int i = 1; i <= XMAX; i++)
NrPrimeCuN[i] = i - 1;
for (int i = 2; i <= XMAX; i++)
for (int j = 2 * i; j <= XMAX; j += i)
NrPrimeCuN[j] -= NrPrimeCuN[i];
}
int main() {
SirDeNrPrimeCuN();
int n, x;
fin >> n;
while (n--) {
fin >> x;
fout << (unsigned long long)NrPrimeCuN[x] * 2 * x << '\n';
}
return 0;
}