Cod sursa(job #992337)
| Utilizator | Data | 1 septembrie 2013 17:49:24 | |
|---|---|---|---|
| Problema | Sum | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <iostream>
#include <fstream>
#define nmax 100002
using namespace std;
ifstream in("sum.in");
ofstream out("sum.out");
long long phi[nmax],m,maxim=0,v[nmax];
int main()
{
in >> m;
for (int i=1; i<=m; i++) in >> v[i], maxim=max(maxim, v[i]);
for (int i=1; i<=maxim; i++)
phi[i]=i-1;
for (int i=2; i<=maxim; i++)
for (int j=2*i; j<=maxim; j+=i)
phi[j]-=phi[i];
for (int i=1; i<=m; i++)
out << v[i]*phi[v[i]]*2 << "\n";
return 0;
}
