Pagini recente » Cod sursa (job #338034) | Cod sursa (job #2821708) | Cod sursa (job #1353419) | Cod sursa (job #2006967) | Cod sursa (job #333854)
Cod sursa(job #333854)
#include <stdio.h>
FILE *f,*s;
long int n,i,j,max,v1[100005],v2[100005];
int main()
{
f=fopen("sum.in","r");
s=fopen("sum.out","w");
fscanf(f,"%ld\n",&n);
for(i=1;i<=n;i++)
{
fscanf(f,"%ld\n",&v1[i]);
if(v1[i]>max)
max=v1[i];
}
for(i=1;i<=max;i++)
v2[i]=i;
for(i=2;i<=max;i++)
{
if(v2[i]==i)
{
for (j=i;j<=max;j+=i)
{
v2[j]/=i;
v2[j]*=(i-1);
}
}
}
for(i=1;i<=n;i++)
fprintf(s,"%ld\n",v2[v1[i]]*v1[i]*2);
fclose(s);
return 0;
}