Cod sursa(job #980673)

Utilizator addy01adrian dumitrache addy01 Data 5 august 2013 14:02:15
Problema Sum Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>
#include <fstream>

using namespace std;

#define MAXN 100010
int PHI[MAXN];
void preproc()
{
    PHI[1] = 1;
    for(int i  = 2; i <= MAXN; i++)
    {
        PHI[i] = i - 1;
    }

    for(int i = 2; i < MAXN; i++)
    {
        for(int j = 2 * i; j < MAXN; j += i)
        {
            PHI[j] -= PHI[i];
        }
    }
}

int main()
{
    ifstream in("sum.in");
    ofstream out("sum.out");
    int n,x;
    preproc();
    in>>n;
    while(n--)
        {
            in>>x;
            out << 1LL * PHI[x] * x * 2 << "\n";
        }
    return 0;
}