Cod sursa(job #2299721)

Utilizator LivcristiTerebes Liviu Livcristi Data 9 decembrie 2018 22:08:34
Problema Sum Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
#define NUM 100005
int phi[NUM];
int num, n, val;
long long sum;
using namespace std;
int main()
{
    ifstream f("sum.in");
    ofstream g("sum.out");
    n = NUM - 1;
    for(int i = 1; i <= n; ++i)
        phi[i] = i;
    for(int i = 2; i <= n; ++i)
        if(phi[i] == i)
            for(int j = i; j <= n; j += i)
            {
                // phi[j] = phi[j] * (1 - 1 / i)
                phi[j] /= i;
                phi[j] *= (i - 1);
            }
    f >> num;
    for(int i = 1; i <= num; ++i)
    {
        f >> val;
        g << 2 * val * phi[val] << "\n";
    }
    f.close();
    g.close();
}