Pagini recente » Cod sursa (job #557988) | Cod sursa (job #698164) | Cod sursa (job #464348) | Cod sursa (job #3186266) | Cod sursa (job #120547)
Cod sursa(job #120547)
#include <stdio.h>
using namespace std;
long long u[100005],tot[100005];
void totient()
{
long i,j;
for (i=2;i<=100001;i++)
tot[i]=i;
for (i=2;i<=100001;i++)
{
if (u[i]==0)
{
j=1;
while(i*j<=100001)
{
u[i*j]=1;
tot[i*j]=tot[i*j]-(tot[i*j]/i);
j++;
} }
}
}
int main()
{ long long n,sol,x,i;
FILE*f=fopen("sum.in","r");
FILE*g=fopen("sum.out","w");
fscanf(f,"%lld",&n);
totient();
for (i=1;i<=n;i++)
{
fscanf(f,"%lld",&x);
sol=2*x*tot[x];
fprintf(g,"%lld\n",sol);
}
return 0;
}