Pagini recente » Cod sursa (job #506187) | Borderou de evaluare (job #2114334) | Cod sursa (job #586275) | Cod sursa (job #2603235) | Cod sursa (job #2306106)
#include <fstream>
using namespace std;
ifstream fin("sum.in");
ofstream fout("sum.out");
const int NMAX=1000000;
long long phi[NMAX+5];
int main()
{
int i, j, k, n;
long long rez;
for(i=1;i<=NMAX;i++)
phi[i]=i;
for(i=2;i<=NMAX;++i)
{
if(phi[i]==i)
{
for(j=i;j<=NMAX;j=j+i)
{
//phi=phi*((i-1)/i)
phi[j]=(phi[j]/i)*(i-1);
}
}
}
fin>>n;
for(i=1;i<=n;i++)
{
fin>>k;
rez=1ll*k*2*phi[k];
fout<<rez<<"\n";
}
return 0;
}