Cod sursa(job #1202651)
| Utilizator | Data | 28 iunie 2014 20:07:02 | |
|---|---|---|---|
| Problema | Sum | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include<fstream>
#include <iostream>
using namespace std;
long totient[100005];
int main()
{
ifstream f("sum.in");
ofstream g("sum.out");
long i,j,n,x;
long long rezultat;
for(i=1;i<=100005;++i) totient[i]=i;
for(i=2;i<=100005;++i)
if(totient[i]==i)
{
for(j=i;j<=100005;j=j+i)
{
totient[j]=totient[j]/i;
totient[j]=totient[j]*(i-1);
}
}
f>>n;
for(i=1;i<=n;++i)
{
f>>x;
long long doi=2;
g<<doi*x*totient[x]<<"\n";
}
f.close();
g.close();
return 0;
}
