Pagini recente » Cod sursa (job #144253) | Cod sursa (job #547713) | Cod sursa (job #1059120) | Cod sursa (job #715249) | Cod sursa (job #1324547)
#include <stdio.h>
using namespace std;
FILE *fin ,*fout;
char v[100001];
long long sum[100001] ,sus[100001] ,jos[100001];
int main()
{
long long n ,i ,j ,z ,x;
fin = fopen("sum.in" ,"r");
fout = fopen("sum.out" ,"w");
fscanf(fin ,"%lld" ,&n);
for(i=1;i<=100000;i++)
{
sum[i]=i;
sus[i]=1;
jos[i]=1;
}
sum[1]=1;
for(i=2;i<=100000;i++)
{
if(v[i]==0)
{
sus[i]*=(i-1);
jos[i]*=i;
for(j=2*i;j<=100000;j+=i)
{
v[j]=1;
sus[j]*=(i-1);
jos[j]*=i;
}
}
}
for(i=1;i<=100000;i++)
{
sum[i]=(sum[i]*sus[i])/jos[i];
}
for(z=1;z<=n;z++)
{
fscanf(fin ,"%lld" ,&x);
fprintf(fout ,"%lld\n" ,sum[x]*2*x);
}
return 0;
}