Cod sursa(job #2774048)

Utilizator dotyzebra775Papuc Stefan dotyzebra775 Data 9 septembrie 2021 16:24:27
Problema Sum Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
#define N 100005
using namespace std;
ifstream fin("sum.in");
ofstream fout("sum.out");

int n;

int phi[N + 5];

void euler()
{
    int i, j;
    for (i = 1; i <= N; ++ i)
        phi[i] = i;
    for (i = 2; i <= N; ++ i)
        if (phi[i] == i)
        {
            phi[i] --;
            for (j = 2 * i; j <= N; j += i)
                phi[j] = phi[j] / i * (i - 1);
        }
}

int main()
{
    int x, i;
    fin >> n;
    euler();
    for (i = 1; i <= n; ++ i)
    {
        fin >> x;
        fout << 1LL * 2 * x * phi[x] << "\n";
    }


    return 0;
}