Cod sursa(job #953158)

Utilizator classiusCobuz Andrei classius Data 25 mai 2013 08:56:11
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <cstdio>
#include <vector>

using namespace std;
FILE *f=fopen("sum.in","r");
FILE *g=fopen("sum.out","w");

const int mx=100001;
void fctrz();
int phi[mx];

int main()
{
    int t;
    fctrz();

    fscanf(f,"%d",&t);

    while(t--){
        int n;
        fscanf(f,"%d",&n);
        fprintf(g,"%llu\n",2LL*phi[n]*n);
    }

    return 0;
}

void fctrz()
{
    for(int i=2;i<mx;i++)
        phi[i]=i-1;

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