Pagini recente » Cod sursa (job #857279) | Cod sursa (job #596848) | Cod sursa (job #2174998) | Cod sursa (job #14515) | Cod sursa (job #1463982)
#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;
for (int i = 2; i <= 100000; i++)
{
if (Fi[i] == i)
{
for (int j = i; j <= 100000; j += i)
{
Fi[j] /= i;
Fi[j] *= (i - 1);
}
}
}
}
int main()
{
Euler_Prin_Ciur();
fin >> N;
while (N--)
{
fin >> X;
fout << X * 2 * Fi[X] << '\n';
}
fin.close();
fout.close();
return 0;
}