Pagini recente » Cod sursa (job #2870738) | Cod sursa (job #2059323) | Cod sursa (job #2552625) | Cod sursa (job #782618) | Cod sursa (job #239327)
Cod sursa(job #239327)
#include <stdio.h>
#define dim 200001
long long t[dim]; // in t - calculez functia totient
long long T, N, K;
int main()
{
long long i, j;
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
// calculez functia totient pt toate numerele mai mici decat dim
t[1] = 1;
for(i=2;i<=dim;i++)
if(!t[i])
{
t[i] = i-1;
for(j=2*i;j<=dim;j+=i)
t[j] = t[j]?(t[j]-t[j]/i):(j-j/i);
}
scanf("%Ld",&T);
for ( ;T; -- T)
{
scanf("%Ld",&N);
printf("%Ld\n",2*N*t[N]);
}
return 0;
}