Pagini recente » Cod sursa (job #2297563) | Cod sursa (job #2089460) | Cod sursa (job #1884275) | Cod sursa (job #1967938) | Cod sursa (job #1463980)
#include <fstream>
using namespace std;
ifstream fin ("sum.in");
ofstream fout ("sum.out");
int N, Fi[100010];
long long X;
void Euler_Prin_Ciur() /// Fi(n) reprezintă numărul de numere mai mici sau egale cu n și prime cu acesta;
{
for (int i = 1; i <= 100000; i++) Fi[i] = i - 1;
for (int i = 2; i <= 100000; i++)
{
for (int j = i + i; j <= 100000; j += i)
{
Fi[j] -= Fi[i];
}
}
}
int main()
{
Euler_Prin_Ciur();
fin >> N;
while (N--)
{
fin >> X;
fout << 2 * X * Fi[X] << '\n';
}
return 0;
}