Cod sursa(job #2932455)

Utilizator MAlex2019Melintioi George Alexandru MAlex2019 Data 2 noiembrie 2022 22:11:15
Problema Sum Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>

using namespace std;

const int maxn = 200001;
int euler[maxn];

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

void show() {
    
}

int main() {
    init();
    ifstream fin("sum.in");
    ofstream fout("sum.out");
    int n;
    fin >> n;
    for (int i = 0; i < n; i++) {
        int x;
        fin >> x;
        int ans = x*euler[2*x];
        if (x % 2 == 1)
            ans *= 2;
        fout << ans << '\n';
    }

    return 0;
}