Pagini recente » Cod sursa (job #2269724) | Cod sursa (job #637040) | Cod sursa (job #482664) | Cod sursa (job #61668) | Cod sursa (job #2496235)
// CTI
#include <bits/stdc++.h>
using namespace std;
ifstream in("sum.in");
ofstream out("sum.out");
int main()
{
//ios::sync_with_stdio(false);
//cin.tie(0);
int M = 100000;
vector<int> v(M+1);
for (int i = 1; i <= M; ++i) {
v[i] = i - 1;
}
for (int i = 1; i <= M; ++i) {
for (int j = 2*i; j <= M; j += i) {
v[j] = v[j] - v[i];
}
}
int n; in >> n;
for (int i=0; i<n; ++i) {
int x; in >> x;
// v[x] - numere prime mai mici decat x
// 2 - de doua ori mai multe pentru x[2*x]
// 2 * x - daca cate 2 de la inceput si de la sfarsit
// din lista sortata a numerelor mai mici x si prime
// cu x
long long answer = 1LL * v[x] * 2 * x;
out << 1LL * answer << '\n';
}
return 0;
}