Pagini recente » Cod sursa (job #3243416) | Cod sursa (job #2459222) | Cod sursa (job #2465562) | Cod sursa (job #2607747) | Cod sursa (job #1463981)
#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 << X * 2 * Fi[X] << '\n';
}
fin.close();
fout.close();
return 0;
}