Cod sursa(job #2282829)

Utilizator HD650Stoicescu Adrian Nicolae HD650 Data 14 noiembrie 2018 15:56:23
Problema Sum Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("sum.in");
ofstream g("sum.out");
int x;
int Euler[100001];

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

int main()
{
    calc(100000);
    int n;
    f>>n;
    while(n--)
    {
        f>>x;
        g << 2LL * Euler[x] * x << '\n';
    }
    return 0;
}
//1 2 3 4 6 7 8 9