Pagini recente » Cod sursa (job #1231118) | Cod sursa (job #2375364) | Cod sursa (job #1886901) | Cod sursa (job #2657859) | Cod sursa (job #2917956)
//Problema urata ce se rezolva cu Indicatorul lui Euler
//https://www.pbinfo.ro/articole/18882/indicatorul-lui-euler
#include <fstream>
#define N 100001
using namespace std;
ifstream cin ("sum.in");
ofstream cout ("sum.out");
int n,x,phi[100001];
void Indicatorul_lui_Euler ()
{
for (int i=1; i<N; ++i) phi[i]=i;
for (int i=2; i<N; ++i)
if (phi[i]==i)
for (int j=i; j<N; j+=i)
phi[j]=phi[j]/i*(i-1);
}
int main()
{
Indicatorul_lui_Euler();
cin>>n;
for (int i=1; i<=n; ++i)
{
cin>>x;
cout<<(long long)(phi[x]*2*x)<<"\n";
}
return 0;
}