Pagini recente » Cod sursa (job #1458171) | Cod sursa (job #1538310) | Cod sursa (job #1150062) | Cod sursa (job #1680452) | Cod sursa (job #2917958)
//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-1))/i;
}
int main()
{
Indicatorul_lui_Euler();
cin>>n;
for (int i=1; i<=n; ++i)
{
cin>>x;
cout<<(unsigned long long)(phi[x]*2*x)<<"\n";
}
return 0;
}