Cod sursa(job #3266670)

Utilizator rapidu36Victor Manz rapidu36 Data 9 ianuarie 2025 19:50:25
Problema Sum Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include <vector>

using namespace std;

const int XMAX = 1e5;

int main()
{
    ifstream in("sum.in");
    ofstream out("sum.out");
    vector <int> e(XMAX + 1);
    for (int i = 1; i <= XMAX; i++)
    {
        e[i] = i;
    }
    for (int d = 2; d <= XMAX; d++)
    {
        if (e[d] == d)///d este prim
        {
            ///deci va influenta e[m] pentru fiecare multiplu m al sau
            for (int m = d; m <= XMAX; m += d)
            {
                e[m] = e[m] / d * (d - 1);
            }
        }
    }
    int n;
    in >> n;
    for (int i = 0; i < n; i++)
    {
        int x;
        in >> x;
        out << 2LL * x * e[x] << "\n";
    }
    in.close();
    out.close();
    return 0;
}