Cod sursa(job #2712033)

Utilizator Alex_tz307Lorintz Alexandru Alex_tz307 Data 25 februarie 2021 08:46:47
Problema Sum Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>
#define int long long

using namespace std;

ifstream fin("sum.in");
ofstream fout("sum.out");

const int DIM = 1e5;
int sieve[DIM + 1];

void Euler() {
    for(int i = 1; i <= DIM; ++i)
        sieve[i] = i;
    for(int i = 2; i <= DIM; ++i)
        if(sieve[i] == i)
            for(int j = 1; j * i <= DIM; ++j)
                sieve[j * i]= sieve[j * i] / i * (i - 1);
}

void test_case() {
    int N;
    fin >> N;
    fout << (sieve[N] * (N << 1)) << '\n';
}

int32_t main() {
    int T;
    fin >> T;
    Euler();
    for(int tc = 0; tc < T; ++tc)
        test_case();
}