Pagini recente » Cod sursa (job #3210492) | Clasamentul arhivei de probleme | Cod sursa (job #2652082) | Borderou de evaluare (job #1031330) | Cod sursa (job #980674)
Cod sursa(job #980674)
#include <iostream>
#include <cstdio>
using namespace std;
#define MAXN 100010
int PHI[MAXN];
void preproc()
{
PHI[1] = 1;
for(int i = 2; 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];
}
}
}
int main()
{
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
int n,x;
preproc();
scanf("%d",&n);
while(n--)
{
scanf("%d",&x);
long long s=1LL * PHI[x] * x *2 ;
printf("%lld\n",s);
}
return 0;
}