Cod sursa(job #1043021)

Utilizator pulseOvidiu Giorgi pulse Data 27 noiembrie 2013 21:48:54
Problema Sum Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>
#define NMAX 100005

using namespace std;

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

int n;
long long x, phi[NMAX];


void solve_phi ()
{
    for (int i=1; i<=NMAX; ++i)
        phi[i]=i-1;
    for (int i=1; i<=NMAX; ++i)
    {
        for (int j=2*i; j<=NMAX; j+=i)
            phi[j]-=phi[i];
    }
}

int main ()
{
    fin>>n;
    solve_phi ();
    for (int i=1; i<=n; ++i)
    {
        fin>>x;
        fout<<2*phi[x]*x<<"\n";
    }
    fin.close(); fout.close();
    return 0;
}