Cod sursa(job #1573771)
| Utilizator | Data | 19 ianuarie 2016 22:14:16 | |
|---|---|---|---|
| Problema | Sum | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<iostream>
#include<cstdio>
using namespace std;
#define MAXN 100001
int ans[MAXN];
int main ()
{
freopen("sum.in", "r", stdin);
freopen("sum.out", "w", stdout);
int n, i, x; scanf("%d", &n);
for(i=1; i<=MAXN; ++i)
ans[i]=i-1;
for(i=2; i<=MAXN; ++i)
for(int j=i*2; j<=MAXN; j+=i)
ans[j]-=ans[i];
for(i=1; i<=n; ++i){
scanf("%d", &x);
printf("%lld\n", 2*x*ans[x]);
}
return 0;
}
