Cod sursa(job #2306106)
Utilizator | Data | 21 decembrie 2018 17:04:04 | |
---|---|---|---|
Problema | Sum | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#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;
}