Pagini recente » Cod sursa (job #733323) | Cod sursa (job #2840927) | Cod sursa (job #614225) | Cod sursa (job #2662486) | Cod sursa (job #851622)
Cod sursa(job #851622)
//var III cu formula 100p
#include<cstdio>
#define NMax 100003
using namespace std;
int i,j,n,x,e[NMax];
int main()
{
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%d",&n);
for(i=2;i<NMax;i++) e[i]=i;
for(i=2;i<NMax;i++)
if(e[i]==i)
for(j=i;j<=NMax;j+=i) e[j]=e[j]/i*(i-1);
for(i=1;i<=n;i++){
scanf("%d",&x);
printf("%lld\n",(long long)(e[x]<<1)*x);
}
return 0;
}
////var II cu formula 95p (nu se incadreaza in timp)
//#include <fstream>
//using namespace std;
//ifstream f("sum.in");
//ofstream g("sum.out");
//int e[100003],n,x,y,d,i,j,t,k;
//long long s;
//int main()
//{
// //calcul indice Euler
// for(i=1;i<=100000;i++) e[i]=i;
// for(i=2;i<=100000;i++)
// if(e[i]==i)
// for(j=i;j<=100000;j=i+j)
// e[j]=e[j]/i*(i-1);
// f>>n;
// for(i=1;i<=n;i++) {
// f>>x;
// g<<(long long)(e[x]<<1)*x<<'\n';
// }
// g.close();
// return 0;
//}
//var I 55p (nu se incadreaza in timp)
//se descompune x in factori si se elimina
//din vector toti multipli factorilor
//#include <fstream>
//using namespace std;
//ifstream f("sum.in");
//ofstream g("sum.out");
//int e[200003],n,x,y,d,i,j,t;
//long long s;
//int main()
//{
// f>>n;
// for(t=1;t<=n;t++){
// f>>x;y=2*x;
// for(i=1;i<=y;i++)e[i]=0;
// d=2;
// while(x!=1){
// if(x%d==0){
// for(i=d;i<=y;i=i+d)e[i]=1;
// while(x%d==0)x=x/d;
// }
// d++;
// }
// for(s=0,i=1;i<=y;i++)
// if(e[i]==0)s+=i;
// g<<s<<'\n';
// }
// g.close();
// return 0;
//}