Cod sursa(job #2532640)

Utilizator chriss_b_001Cristian Benghe chriss_b_001 Data 28 ianuarie 2020 05:22:19
Problema Sum Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("sum.in");
ofstream g("sum.out");

const int NMAX = 100000;
int v[NMAX + 3];


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


int main()
{
    int n;
    f >> n;
    Euler(NMAX);
    int x;
    while(n--)
    {
        f >> x;
        g << v[x] * 2 * x << '\n';
    }
    return 0;
}