Cod sursa(job #1202654)
Utilizator | Data | 28 iunie 2014 20:12:47 | |
---|---|---|---|
Problema | Sum | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<fstream>
#include <iostream>
using namespace std;
long totient[100002];
int main()
{
ifstream f("sum.in");
ofstream g("sum.out");
long i,j,n,x;
long long rezultat;
for(i=1;i<=100000;++i) totient[i]=i;
for(i=2;i<=100000;++i)
if(totient[i]==i)
{
for(j=i;j<=100000;j=j+i)
totient[j]=totient[j]-totient[j]/i;
}
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;
}