Cod sursa(job #186033)

Utilizator toni2007Pripoae Teodor Anton toni2007 Data 26 aprilie 2008 16:38:28
Problema Sum Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
#include <stdlib.h>
//#include <timer.h>
#define N 100010
//using namespace std;
int phi[N];
void precalc(){
     int i,j;
     for (i=1;i<=N;i++)
         phi[i]=i;
     for (i=2;i<=N;i++)
         if (phi[i]==i)
            for (j=i;j<=N;j+=i){
                phi[j] /=i;
                phi[j] *= (i-1);
            }
}
int main(){
    int n,x,i;
    //timer t;
    //t.start();
    precalc();
    freopen("sum.in","r",stdin);
    freopen("sum.out","w",stdout);
    scanf("%d",&n);
    for (i=1;i<=n;++i){
          scanf("%d",&x);
          printf("%lld\n",(long long)x*phi[x]*2);
    }
    //cout<<"TIMP DE EXECUTIE "<<t<<" SECUNDE";
    return 0;
}