Pagini recente » Cod sursa (job #2982121) | Cod sursa (job #286358) | Cod sursa (job #335562) | Cod sursa (job #45994) | Cod sursa (job #846104)
Cod sursa(job #846104)
//var II cu formula
#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<=k=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;
s=(long long)e[x]*2*x;
g<<s<<'\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;
//}