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