Cod sursa(job #2774047)

Utilizator dotyzebra775Papuc Stefan dotyzebra775 Data 9 septembrie 2021 16:23:18
Problema Sum Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 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 << 2 * x * phi[x] << "\n";
    }


    return 0;
}