Pagini recente » Monitorul de evaluare | Cod sursa (job #1685114)
#include<bits/stdc++.h>
using namespace std;
int x,i,sum,n,j,s,t,a,b,r,f[200011];
bitset <100010> v;
FILE *fin = fopen ("sum.in", "r");
FILE *fout = fopen ("sum.out", "w");
int main (){
for (i=1;i<=100000;i++)
f[i] = i;
for (i=2;i<=100000;i++)
if ( !v[i] )
for (j=i;j<=100000;j+=i){
f[j] = 1LL*f[j]/i*(i-1);
v[j] = 1;
}
fscanf (fin, "%d", &n);
for (t=1;t<=n;t++){
fscanf (fin, "%d", &x);
fprintf (fout, "%lld\n",f[x]*2LL*x);
}
return 0;
}