Cod sursa(job #982526)

Utilizator AlexandruValeanuAlexandru Valeanu AlexandruValeanu Data 9 august 2013 13:57:22
Problema Sum Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <fstream>

using namespace std;

#define Nmax 100002

int ciur[Nmax];

void gen()
{
    for ( int i = 2; i <= Nmax; ++i )
            ciur[i] = i - 1;

    for ( int i = 2; i <= Nmax; ++i )
            for ( int j = i << 1; j <= Nmax; j += i )
                    ciur[j] -= ciur[i];
}

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

    gen();

    int x, n;

    for ( f >> n; n > 0; n-- )
    {
        f >> x;
        g << 1LL * 2 * x * ciur[x] << "\n";
    }

    f.close();
    g.close();

    return 0;
}