Cod sursa(job #2299730)

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