Cod sursa(job #327971)

Utilizator klamathixMihai Calancea klamathix Data 30 iunie 2009 17:29:03
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<cstdio>
#define N 100001
#define ll long long

using namespace std;

ll int i , j , T , M , k;
ll int  phi[N];

void Sieve () {
     int i ; int j;

for (int i = 1;i <= N;i++) phi[i]=i;

for (int 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 ()
{
    freopen("sum.in","r",stdin);
    freopen("sum.out","w",stdout);
    
    scanf("%d",&T);
    
    Sieve();
    
    
    for( i = 1 ; i <= T ; ++i ){ 
               scanf("%d" ,&M);
              printf("%lld\n" , 2 * phi[M] * M );
          }

return 0;
}