Pagini recente » Cod sursa (job #3256170) | Cod sursa (job #1472976) | Cod sursa (job #3213538) | Cod sursa (job #3158850) | Cod sursa (job #812591)
Cod sursa(job #812591)
#include <fstream>
#define MAX_X 100005
using namespace std;
ifstream f("sum.in");
ofstream g("sum.out");
int phi[MAX_X];
bool used[MAX_X];
void ciur()
{
for (int i = 2; i <= MAX_X; i++) {
int cnt = 0;
if (!used[i]) {
used[i] = true;
cnt = 1;
}
for (int j = 2 * i; j <= MAX_X; j += i) {
phi[j] -= cnt;
if (!used[j]) {
used[j] = true;
cnt++;
}
}
}
}
int main()
{
int N, X;
phi[1] = 1;
for (int i = 2; i <= MAX_X; i++)
phi[i] = i - 1;
ciur();
f >> N;
while (N--) {
f >> X;
g << 1LL * 2 * X * phi[X] << '\n';
}
f.close();
g.close();
return 0;
}