Pagini recente » Cod sursa (job #2075285) | Cod sursa (job #818332) | Cod sursa (job #2880277) | Cod sursa (job #2697563) | Cod sursa (job #239326)
Cod sursa(job #239326)
#include <stdio.h>
#define dim 200001
long t[dim]; // in t - calculez functia totient
long T, N, K;
int main()
{
long i, j, n, max = 1, nrp = 1;
FILE *fin, *fout;
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;
}