Cod sursa(job #304256)

Utilizator funkydvdIancu David Traian funkydvd Data 11 aprilie 2009 18:25:18
Problema Sum Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>
#define N 100001
long n,v[N],x;
void euler()
{
  int i,j;
  for( i=2 ; i<N ; ++i )
   v[i]=i;
  for( i=2 ; i<N ; ++i )
    if( v[i]==i )
   for(j=i ; j<N ; j+=i )
	 v[j] = v[j] / i * ( i - 1 );
}
int main()
  {
      freopen("sum.in","r",stdin);
      freopen("sum.out","w",stdout);
      scanf("%ld",&n);
      euler();
      for (int i=1; i<=n; i++)
      {
       scanf("%ld", &x);
       x=2*v[x]*x;
       printf ("%ld\n",x);
      }
      euler();
      return 0;  
  }