Pagini recente » Cod sursa (job #2634283) | Cod sursa (job #774481) | Cod sursa (job #1108642) | Cod sursa (job #2172882) | Cod sursa (job #1334577)
#include<cstdio>
using namespace std;
int ciur[200041];
void genciur()
{
int i, j;
for(i=2; i<=1000000; ++i)
ciur[i]=i;
for(i=2; i<=1000000;++i)
{
if(ciur[i]==i)
{
for(j=i*2; j<=1000000; j+=i)
ciur[j]=ciur[j]*(i-1)/i;
ciur[i]=i-1;
}
}
}
int main()
{
FILE *in=fopen("sum.in", "r"),
*out=fopen("sum.out", "w");
int n, x, i;
genciur();
fscanf(in, "%d", &n);
for(i=1; i<=n; ++i)
{
fscanf(in, "%d",&x);
fprintf(out, "%lld\n",(long long)2*x*ciur[x]);
}
fclose(in);
fclose(out);
return 0;
}