Pagini recente » Cod sursa (job #356970) | Cod sursa (job #1346343) | Cod sursa (job #2091844) | Cod sursa (job #2418612) | Cod sursa (job #355230)
Cod sursa(job #355230)
#include<cstdio>
const int NMAX = 1<<17 ;
int vect [ NMAX ] ;
void ciur ( )
{
int i , j ;
for ( i = 1 ; i <= NMAX ; i ++ )
vect[i] = i ;
for ( i = 2 ; i <= NMAX ; i ++ )
if ( vect[i]==i )
for ( j = i ; j <= NMAX ; j += i )
vect[j] = (vect[j] / i ) * (i-1) ;
}
int main ( )
{
freopen ( "sum.in" , "r" , stdin ) ;
freopen ( "sum.out" , "w" , stdout ) ;
int n , i , x ;
scanf ( "%d" , & n ) ;
ciur ( ) ;
for ( i = 1 ; i <= n ; i ++ )
{
scanf ( "%d" , & x ) ;
printf ( "%lld\n" , (long long)2*x*vect [ x ] ) ;
}
return 0 ;
}