Pagini recente » Diferente pentru problema/rmq intre reviziile 31 si 38 | Monitorul de evaluare | Diferente pentru problema/tequila intre reviziile 126 si 127 | Cod sursa (job #250918) | Cod sursa (job #1886421)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("sum.in");
ofstream fout("sum.out");
int ind[100100];
int n,x,ans,j,i;
int main()
{
fin>>n;
for(i=1; i<=100000; ++i)
ind[i]=i;
for(i=2; i<=100000; ++i)
if(ind[i]==i)
{
for(j=i; j<=100000; j+=i)
ind[j]=ind[j]/i*(i-1);
}
while(n--)
{
fin>>x;
fout<<x*ind[x]*2<<'\n';
}
}