Cod sursa(job #992851)
Utilizator | Christescu Matei matei_c | Data | 2 septembrie 2013 17:35:29 |
---|---|---|---|
Problema | Sum | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include<cstdio>
#include<algorithm>
using namespace std ;
#define maxn 100001
int phi[maxn] ;
int N ;
int main()
{
freopen("sum.in", "r", stdin);
freopen("sum.out", "w", stdout);
for(int i = 1; i <= maxn; ++i )
phi[i] = i - 1 ;
for(int i = 2; i <= maxn; ++i )
for(int j = 2 * i; j <= maxn; j += i )
phi[j] -= phi[i] ;
scanf("%d", &N);
while( N-- )
{
int X ;
scanf("%d", &X);
long long sol = ( long long )( X * phi[X] * 2 ) ;
printf("%lld\n", sol);
}
return 0 ;
}