Cod sursa(job #767878)
| Utilizator | Data | 15 iulie 2012 10:04:20 | |
|---|---|---|---|
| Problema | Sum | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
# include <cstdio>
# define N 100001
using namespace std;
long long v[N];
int n,x;
int main(){
freopen ("sum.in","r",stdin);
freopen ("sum.out","w",stdout);
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);
scanf("%d",&n);
for( i = 1 ; i <= n ; ++i ){
scanf("%d",&x);
printf("%lld\n",2 * v[x] * x);
}
fclose(stdin);
fclose(stdout);
return 0;
}
