Cod sursa(job #1613671)

Utilizator PraetorGrigorosoaia Florin Praetor Data 25 februarie 2016 16:05:40
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
#define LIM 100001

using namespace std;

FILE*in;
//ofstream out("sum.out");
FILE*out;

long int phi[LIM];
long int nr_teste;
long int X;

void euler()
{
    for (long int i=2; i<=LIM; i++)
        phi[i]=i-1;

    for (long int i=2; i<=LIM/2; i++)
        for (long int j=2*i; j<=LIM; j+=i)
            phi[j]-=phi[i];
}

void show()
{
    fprintf(out, "%lld\n", (long long)2*X*phi[X]);
}

void read()
{
    in=fopen("sum.in", "r");
    out=fopen("sum.out", "w");

    fscanf(in, "%ld", &nr_teste);
    for (int i=1; i<=nr_teste; i++)
    {
        fscanf(in, "%ld", &X);

        show();
    }
}

int main()
{
    euler();
    read();

    return 0;
}