Cod sursa(job #344972)

Utilizator tamas_iuliaTamas Iulia tamas_iulia Data 1 septembrie 2009 14:05:37
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <stdio.h>
#define Nmax 100005
#define ll long long

int t,n;
ll rez;
int phi[Nmax];

void do_phi(){
	int i,j;
   for(i=1;i<Nmax;++i) phi[i]=i-1;
   for(i=2;i<Nmax;++i)
     for(j=2*i; j<Nmax;j+=i)
       phi[j] -=phi[i];
}

int main(){
	freopen("sum.in","r",stdin);
   freopen("sum.out","w",stdout);
   scanf("%d",&t);

	do_phi();

   for(; t; --t){
  	  scanf("%d",&n);
      rez=(ll)phi[n]*2*n;
      printf("%lld\n",rez);
   }

   fclose(stdin); fclose(stdout);
   return 0;
}