Cod sursa(job #962939)
| Utilizator | Data | 16 iunie 2013 01:16:49 | |
|---|---|---|---|
| Problema | Sum | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<cstdio>
#define Nmax 100002
using namespace std;
int N, phi[Nmax], x;
long long Nrf;
int main(){
freopen("sum.in", "r", stdin);
freopen("sum.out", "w", stdout);
scanf("%d", &N);
for(int i=2; i<=Nmax; ++i)
phi[i]=i-1;
phi[1]=1;
for(int i=2; i<=Nmax; ++i)
for(int j=2*i; j<=Nmax; j+=i)
phi[j]-=phi[i];
for(int i=1;i<=N;i++){
scanf("%d",&x);
printf("%lld\n",(long long)phi[x]*2*x);
}
return 0;
}
